for 循环中双数组的索引超出范围

时间:2021-01-28 15:45:56

标签: c# arrays for-loop indexing double

我是 C# 的初学者。无论我为以下代码尝试过什么,我都会得到 Index out of range 异常:

    double[,] mysine = new double[0, NumPoints];

    double s = (2 * Math.PI) / NumPoints;

    for (int i = 0; i < NumPoints; i++)
    {
        mysine[0, i] = Math.Sin(i * s) + 1;
    }

数组大小是 NumPoints,我的循环从零到 (NumPoints-1) 循环,这不会出错。我也尝试了其他的东西,但无法解决。我还有其他错误吗?

1 个答案:

答案 0 :(得分:3)

double[,] mysine = new double[0, NumPoints];

应该

double[,] mysine = new double[1, NumPoints];

括号之间的数字定义了数组的大小,而不是最大索引。 所以当使用 0 时,你实际上定义了一个不可用的数组。