繁体   English   中英

索引超出数组范围

[英]index out of bounds of the array

string[] scores = File.ReadAllLines(@"text file");
string score1 = scores[0];

文本文件包含值1-10,但它不断告诉我索引超出范围。

为什么是这样?

ReadAllLines返回一个长度为0的数组。文件的路径错误或者文件中没有预期的内容。 如果您改为尝试打印scores长度,那么在您索引为0的行上,您会发现它为0。

通常,您应该检查长度或使用由集合长度限制的foreach或for循环,以便可以避免这些类型的异常。 但是,话虽如此,您需要遵循该路径并在此处确认文件中的内容。 请记住,如果您使用的是相对路径,则程序运行时的当前工作目录可能与您预期的不同。

使用这样的东西

string [] lines = File.ReadAllLines(“ C:\\ rearrange.txt”); //无论您使用的文件名和位置如何

ReadAllLines不知道从中读取数据的确切位置

您应该阅读有关文件类的更多信息:

https://msdn.microsoft.com/zh-CN/library/system.io.file(v=vs.110).aspx

如果它不断告诉您索引超出范围,则可能是因为它实际上超出了范围-数组的长度为0。确定文件的内容与您认为的一样吗?

您可能应该彻底阅读文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM