我有以下数组:
public int[] ID = {0,1,2,3,4};
我正在调用以下方法,该方法在框架中包含一个get方法:
int[] marker = this.m_TuioManager.getID(this.ID);
framwork类中的Get-Method:
public int[] getID(int[] wert)
{
int number= 4;
for (int i = 0; i<=number; i++)
{
for (int j = 0; j<=number; j++)
{
wert[i] = wert[j];
}
}
return wert;
}
例外是:
数组索引超出范围
我不明白。注意我的数组有0到4的5个数字。在for循环中我迭代到4。 我想要的是比较数组中的值,如wert [0] = 0,wert [1] = 1等等(直到4),还有另一个变量。
答案 0 :(得分:0)
如果要避免“数组索引越界”错误,请不要编写假定数组始终具有X个元素的代码。在尝试访问数组的4个元素之前检查数组的.Length,或者写一个运行到array.Length而不是总是运行到固定的4个元素的循环
if(array.Length < 4)
throw new Exception("min array length is 4, you passed " + array.Length);
或者
for(int i = 0; i < array.Length; i++)
或者
foreach(int i in array)
如果您可以通过AIOOB异常导致任何这些代码行崩溃,请通知Microsoft