1

-100 から 100 の範囲の数値の配列があります。ここで、正の値を別の配列にコピーするメソッドを作成する必要があります。私はこれを作りました:

static int[] ArrayCopy(int[] t)
    {
        int a = 0;
        int[] g = new int[0];
        for (int i = 0; i < t.Length; i++)
        {
            if (t[i] > 0)
            {

                g[a] = t[i];
                a++;

            }

        }
        return g;

     }

プログラムは IndexOutOfRange で終了しますが、わかりません。

4

2 に答える 2

2

gゼロのサイズで配列を初期化しています。実行が開始されるとすぐに、g存在しない特定のインデックスにアクセスしようとします。g次の方法で配列を初期化することをお勧めします。

int[] g = new int[t.Length];
于 2014-02-28T15:20:24.643 に答える