我正在尝试将一个CSV文件解析成C#中的二维数组。我遇到了一个非常奇怪的问题,以下是我的代码:
string filePath = @"C:\Users\Matt\Desktop\Eve Spread Sheet\Auto-Manufacture.csv";
StreamReader sr = new StreamReader(filePath);
data = null;
int Row = 0;
while (!sr.EndOfStream)
{
string[] Line = sr.ReadLine().Split(',');
if (Row == 0)
{
data = new string[Line.Length, Line.Length];
}
for (int column = 0; column < Line.Length; column++)
{
data[Row, column] = Line[column];
}
Row++;
Console.WriteLine(Row);
}
我的 .csv 文件有 87 行,但在执行时出现了一个奇怪的问题,它会按预期将前 15 行读入数据数组,但当到达第 16 次 data[Row, column] = Line[column];
行时,它似乎就会跳出整个循环(没有满足 sr.EndOfStream
的条件),并且不再读取任何数据到数据数组中。
有人能解释一下可能发生了什么吗?