为了账号安全,请及时绑定邮箱和手机立即绑定

无法弄清楚这个“数组索引超出范围”错误

无法弄清楚这个“数组索引超出范围”错误

C#
翻阅古今 2021-06-29 03:27:13
这是我的变量string[,] table = new string[104, 6];int moveRow = 1;int moveCol = 1;int sum1 = 0;int sum2 = 0;int rowIndex1 = 1;int rowIndex2 = 0;int firstTableRow = 1;int firstTableCol = 1;int secondTableRow = 1;int secondTableCol = 0;int thirdTableRow = 0;int thirdTableCol = 1;int fourthTableRow = 0;int fourthTableCol = 0;int counterNextRow = 0;现在它给了我(只为我)一个奇怪的Array index is out of range地方if (moveRow > 1){   firstTableCol += 1;   secondTableCol += 1;   thirdTableCol += 1;   fourthTableCol += 1;   //r1 = table[2,1] r2 = table[2,0] r3 = table[1,1] r4 = table[1,0]   string d1 = table[firstTableRow, firstTableCol]; //<------- HERE ITS GIVING ME THE ERROR   string d2 = table[secondTableRow, secondTableCol];   string d3 = table[thirdTableRow, thirdTableCol];   string d4 = table[fourthTableRow, fourthTableCol];   moveRow += 1;}由于那个错误,我一直被困在这里,我不知道为什么它会给我一个Array index is out of range错误。我那里没有任何负数,所以据说我不会遇到那种错误。有人可以指出我。
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

数组索引范围必须是 0 到 103 而不是 1 到 104。它可能会解决您的问题。

int moveRow = 0;
int moveCol = 0;


查看完整回答
反对 回复 2021-07-03
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

嗯,我忘了检查我的变量的长度到我正在使用的维度。所以通过这样做,例如我的变量,rowIndex1我需要像这样检查它


if(rowIndex1 + 1 < table.GetLength(0)){

    rowIndex++;

}

谢谢你们的时间。


查看完整回答
反对 回复 2021-07-03
  • 3 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信