我正在试着找到一种从粘贴纸上读取任意行的方法。
string line = "";
WebClient WC = new WebClient();
List<string> TEST = new List<string>();
Random Rand = new Random();
line = WC.DownloadString("Pastebin");
TEST.Add(line);
button1.Text = TEST[Rand.Next(1, TEST.Count)];但代码的问题是,它会对此作出响应,并给出此错误索引:“索引超出范围。必须是非负数且小于集合的大小。参数名称:System.ArgumentOutOfRangeException”
有没有可能的解决方案
如果可以的话,你能解释一下你是如何修复它的吗?这样我以后就可以解决它了。
发布于 2021-09-25 22:27:02
所以..。您可以从pastebin下载单个字符串
您将这一个字符串放入一个新的列表中,因此它以索引0结束。列表包含1个字符串,因此列表计数为1
您请求Random提供一个介于1和1之间的新随机值,这将使它得到1
然后请求列表为您提供索引为1的字符串。但是在该索引中没有任何字符串。唯一有效的列表索引是0。这会导致超出范围的异常。
我建议您拆分您下载的文本并将其AddRange到列表中
TEXT.AddRange(line.Split('\n'))另外,随机返回一个介于0和count之间的值,否则永远不会得到第一行
https://stackoverflow.com/questions/69330447
复制相似问题