簡體   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