0

我想从我的 txt 文件中加载数据并将它们存储在一个二维双数组中。我正在尝试这样的事情:

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());

4

1 回答 1

0

您不初始化每一行。排队:

double[][] resultout = new double[52][];

您初始化了一个包含 52 个类型元素的数组double[],但它们没有被初始化。因此,当您尝试:

resultout[k][l] = double.Parse(col.Trim());

它只是意味着您尝试获取l不存在数组的元素,而resultout[k]is simple 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++;
}
于 2014-02-13T07:37:10.157 回答