【发布时间】:2017-10-12 04:12:26
【问题描述】:
我正在学习如何处理多维数组,但在尝试填充数组时遇到了这个引用错误。有人有什么想法吗?
public static string[][] itemLines;
public static void readTxtFile()
{
try
{
string[] lines = new string[420];
using (StreamReader sr = new StreamReader(TextFileDirectory.fileDirectoryThree))
{
int counter = 0;
while (!sr.EndOfStream)
{
lines[counter] = sr.ReadLine(); //All lines are in an array index
counter++;
}
}
for (var i = 0; i < lines.Length; i++)
{
itemLines[i] = lines[i].Split('Ü'); //All lines are in multiplexed array
Console.WriteLine("Line " + i + "'s first value is: " + itemLines[i][0]);
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}
这让我很生气。我似乎无法弄清楚这一点。
编辑:我找到了答案。我必须有一个计数器变量并用它正确声明数组。
【问题讨论】:
-
你在哪一行得到错误?
-
itemLines[i] = lines[i].Split('Ü'); //所有行都在复用数组中
-
如果
lines[i]为空,那么Split方法可能会抛出NRE。根据StreamReader读取的文件内容,可能有空字符串。 -
尝试在第二个for循环的 using 和 use 之外声明计数器
标签: c# arrays visual-studio multidimensional-array