我想从我的txt文件加载数据并将它们存储在2D双数组中。 我正在尝试这样的事情:
String input = File.ReadAllText(@"E:\c\vstup.txt");
int k = 0, l = 0;
double[][] resultout = new double[52][];
foreach (var row in input.Split('\n'))
{
l = 0;
foreach (var col in row.Trim().Split(' '))
{
resultout[k][l] = double.Parse(col.Trim());
l++;
}
k++;
}
它不起作用。我是C#的新手。任何人都可以建议如何做到这一点?谢谢。
编辑:它在行处抛出NullReferenceException:resultout [k] [l] = double.Parse(col.Trim());
答案 0 :(得分:0)
您没有初始化每一行。在线:
double[][] resultout = new double[52][];
初始化一个包含double[]
类型的52个元素的数组,但它们未初始化。所以当你想要:
resultout[k][l] = double.Parse(col.Trim());
它只是意味着您尝试获取不存在数组的l
元素而resultout[k]
只是null
。您必须初始化每一行:
resultout[k] = new double[number_of_elements];
之前您必须知道的number_of_elements
,例如:
var values = row.Trim().Split(' ');
resultout[k] = new double[values.Count()];
foreach (var col in values)
{
resultout[k][l] = double.Parse(col.Trim());
l++;
}