使用矩阵的 IndexOutOfRange 异常



我的程序一直显示索引不足。例如,变量arreglo.下面我想将矩阵特定的索引保存在一个数组中,然后在文本框中打印该数组。

我很确定这是一个菜鸟错误...

法典

int [] arreglo = new int[77];
int [,] trans = new int [11,7];
int j=0;
int renglon = 0;
var cadena1 = txtBCadena1.Text.Select(n => Convert.ToInt32(n)).ToArray();
for (int i = 0; i < trans.Length;)
{
arreglo[i] = trans[renglon, cadena1[j]]; 
j++;
renglon = trans[arreglo[i], cadena1[j]];
i++;
if((arreglo[i] == 9) || (arreglo[i] == 8) || (arreglo[i] == 7))
{
break;
}
else
{
MessageBox.Show("CADENA NO VÁLIDA");
}
}
txtBCadena1Resp.Text = Convert.ToString(arreglo);

你在数组 arreglo 上的索引中有一个错误(按照你所说的(,原因是你的索引 i>= 77。您已经定义了一个从 i = 0 到 76(77 个值(的数组 arreglo。 似乎错误来自以下行:

i++;
if((arreglo[i] == 9) || (arreglo[i] == 8) || (arreglo[i] == 7))

在两行之间放一个"Console.WriteLine(i("来检查i的值是否>= 77

我不知道你为什么要做 i++,因为你的循环会自动增加 i 的值。

相关内容

  • 没有找到相关文章

最新更新