Csharp-jagged-arrays

提供:Dev Guides
移動先:案内検索

C#-ギザギザの配列

ジャグ配列は、配列の配列です。 次のように int 型の_scores_という名前のギザギザの配列を宣言できます-

int [][] scores;

配列を宣言しても、メモリ内に配列は作成されません。 上記の配列を作成するには-

int[][] scores = new int[5][];
for (int i = 0; i < scores.Length; i++) {
   scores[i] = new int[4];
}

次のようにギザギザの配列を初期化できます-

int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};

ここで、scoresは2つの整数の配列の配列です。scores[0]は3つの整数の配列であり、scores [1]は4つの整数の配列です。

次の例は、ギザギザの配列の使用を示しています-

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {

        /* a jagged array of 5 array of integers*/
         int[][] a = new int[][]{new int[]{0,0},new int[]{1,2},
            new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } };
         int i, j;

        /*output each array element's value*/
         for (i = 0; i < 5; i++) {
            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
            }
         }
         Console.ReadKey();
      }
   }
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8