0
這是我的代碼,它從文本文件中讀取並將其放置在窗體上的列表框中。如果文本文件中已經有東西可以使用。但是,如果我刪除了文本文件中的內容並運行程序,它會崩潰並給我提供錯誤「索引超出了數組範圍」。從文本文件中讀取錯誤
在assignment.Request.Name = columns[1];
我不知道爲什麼/如何去解決它。
public static List<Assignment> GetAssignment()
{
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
StreamReader textIn =
new StreamReader(
new FileStream(path3, FileMode.OpenOrCreate, FileAccess.Read));
List<Assignment> assignments = new List<Assignment>();
while (textIn.Peek() != -1)
{
string row = textIn.ReadLine();
string[] columns = row.Split('|');
Assignment assignment = new Assignment();
assignment.Employee.Name = columns[0];
assignment.Request.Name = columns[1];
assignments.Add(assignment);
}
textIn.Close();
return assignments;
}
這是行不通的。如果列長度爲1,那麼您仍然會嘗試訪問不在數組範圍內的列[1]。 –
檢查colomn長度大於2 – Hiba
我想也把它創造條件內的分配實例行。如果從未使用過,則創建該對象會浪費內存。這將是大於或等於2,不大於2。 –