-3

配列と単純な書き込み行を使用していくつかのコードを実行しようとしたところ、「System.IndexOutOfRangeExecption」のエラーと意味不明な行が表示されました。

コード(単純):

static void Main(string[] args)
    {

      // מטרת התכנית היא למצוא את שמו של התלמיד על פי מקום הישיבה שלו, וההפך
        // נשתמש במערך בשם Places.

        string[,] places =  new string [3,3];
        places[0, 0] = "Me & Dori";
        places[0, 1] = "Me & Dori";
        places[0, 2] = "Me & Dori";
        places[0, 3] = "Me & Dori";
        places[1, 0] = "Me & Dori";
        places[1, 1] = "Me & Dori";
        places[1, 2] = "Me & Dori";
        places[1, 3] = "Me & Dori";
        places[2, 0] = "Me & Dori";
        places[2, 1] = "Me & Dori";
        places[2, 2] = "Me & Dori";
        places[2, 3] = "Me & Dori";
        places[3, 0] = "Me & Dori";
        places[3, 1] = "Me & Dori";
        places[3, 2] = "Me & Dori";
        places[3, 3] = "Me & Dori";

        Console.WriteLine(places[1, 3]);
    }

*私はC#をよく知らないので、まだ学んでいます...だから、書き忘れたものだと思います。

4

5 に答える 5

2

配列のサイズは 3x3 で、配列は c# が 0 ベースであるため、配列は 2,2 で終了します。

コードを機能させるには、配列を 4x4 に設定する必要があります。

string[,] places =  new string [4,4];

または、上限を設定するコードを削除する必要があります。

于 2014-10-01T17:48:15.603 に答える
1

次のように C# で配列を宣言するとします。

string[,] places =  new string [3,3];

この配列には9つの要素があり、インデックスは0,0から始まり、最後は2,2です

そして、2,3 の要素をアドレス指定しようとすると、Exception

places[2, 3] = "Me & Dori";
于 2014-10-01T17:49:24.097 に答える
1
new String[3,3]

3 は次元の量を示します。配列は 0 ベースです。つまり、3 次元を作成します。0、1、および 2。4 番目の次元に値を設定しようとしました。

places[3, 0] = "Me & Dori";
places[3, 1] = "Me & Dori";
places[3, 2] = "Me & Dori";
places[3, 3] = "Me & Dori";

4 次元がないため、これは機能しません。したがって、これらの行を削除するか、次を使用します。

string[,] places =  new string [4,4];
于 2014-10-01T17:48:33.197 に答える
0

3x3 配列を宣言していますが、それに 4x4 データを割り当てようとしています。例の変更をこれに修正するには:

string[,] places =  new string [4,4];
于 2014-10-01T17:49:20.507 に答える
0

配列の最大インデックスはplaces[2, 2]です。string[,] places = new string[4,4];使用するために必要です

places[0, 3] = "Me & Dori";
places[1, 3] = "Me & Dori";
places[2, 3] = "Me & Dori";
places[3, 0] = "Me & Dori";
places[3, 1] = "Me & Dori";
places[3, 2] = "Me & Dori";
places[3, 3] = "Me & Dori";
于 2014-10-01T17:48:24.253 に答える