将txt文件(m x n矩阵)加载到2d双数组中

时间:2014-02-13 07:17:44

标签: c# arrays double multidimensional-array file.readalllines

我想从我的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());

1 个答案:

答案 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++;
}