我遇到了这个奇怪的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;
}
}
答案 0 :(得分:0)
如果您尝试创建二维数组,则语法应为double [,] rxp = new double[3,6];
。这是MSDN上Multidimensional Arrays的详细文档。