嵌套循环与数组c#[重复]

问题描述 投票:-1回答:1

我有以下数组:

public int[] ID = {0,1,2,3,4};

我正在调用以下方法,该方法在框架中包含一个get方法:int[] marker = this.m_TuioManager.getID(this.ID);

框架类中的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),带有另一个变量。

c# arrays for-loop unity3d nested
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.