多次元配列の要素の型をジャグ配列にすることにより、ジャグ配列の多次元配列を構築することができます。 また逆に、ジャグ配列の要素の型を多次元配列にすることにより、多次元配列のジャグ配列を構築することもできます。 さらに、多次元配列の多次元配列も構築することができます。
一般に、このようなデータ型が必要になる場合はまれで、必要になったとしてもよりシンプルなデータ型で表現可能である場合がほとんどだと思われます。 以下はあくまでこのようなことも可能ということを示す目的で、多次元配列のジャグ配列・ジャグ配列の多次元配列・多次元配列の多次元配列を構築する例をあげます。
2段ジャグ配列の2次元配列を構築する
using System;
class Sample {
static void Main()
{
// 2段ジャグ配列の2次元配列
int[,][][] multidimensionalJagged = {
{
// [0, 0][][]
new int[][] {
new int[] {0, 1},
new int[] {2},
},
// [0, 1][][]
new int[][] {
new int[] {3}
}
},
{
// [1, 0][][]
new int[][] {
new int[] {4, 5},
},
// [1, 1][][]
new int[][] {
new int[] {6, 7},
new int[] {8},
new int[] {9, 10, 11},
},
}
};
Console.WriteLine(multidimensionalJagged[0, 0][0][1]);
Console.WriteLine(multidimensionalJagged[1, 0][0][0]);
Console.WriteLine(multidimensionalJagged[1, 1][2][2]);
}
}
実行結果
1 4 11