嵌套循环与数组c#

时间:2017-12-28 23:13:20

标签: c# arrays for-loop unity3d nested

我有以下数组:

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),还有另一个变量。

1 个答案:

答案 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