IndexOutOfRangeException出于某些奇怪的原因

时间:2016-02-13 03:53:06

标签: c# arrays

我遇到了这个奇怪的IndexOutOfRangeException异常。我正在使用的代码最初是一个C代码,我已设法将其转换为C#

所以我跟随循环给了我错误:

for (int i = 0; i < 6; i++)
{
    L[0] = new double[]{ T[0] + rxp[0][i] - (p[0][i])
}

根据当地人的说法&#39;标签,rxp只有3个孩子&#39;只有1件/儿童。 所以我猜问题就在这里:

void getrxp()
{
    for (int i = 0; i < 6; i++)
    {
        rxp[0] = new double[]{ M[0][0] * (re[0][i]) + M[0][1] * (re[1][i]) + M[0][2] * 0};
        rxp[1] = new double[]{ M[1][0] * (re[0][i]) + M[1][1] * (re[1][i]) + M[1][2] * 0};
        rxp[2] = new double[]{ M[2][0] * (re[0][i]) + M[2][1] * (re[1][i]) + M[2][2] * 0};
    }
}

我是否想要创建一个double rxp[3][6];数组错误或者还有其他内容?

原始代码如下(C):

void getrxp()
{
  for(int i=0;i<6;i++){
    rxp[0][i] = M[0][0]*(re[0][i])+M[0][1]*(re[1][i])+M[0][2]*0;
    rxp[1][i] = M[1][0]*(re[0][i])+M[1][1]*(re[1][i])+M[1][2]*0;
    rxp[2][i] = M[2][0]*(re[0][i])+M[2][1]*(re[1][i])+M[2][2]*0;  
  }
}

1 个答案:

答案 0 :(得分:0)

如果您尝试创建二维数组,则语法应为double [,] rxp = new double[3,6];。这是MSDN上Multidimensional Arrays的详细文档。