多次元配列のLengthプロパティとは異なり、ジャグ配列ではLengthプロパティを参照しても全要素を取得することはできません。 また、ジャグ配列では各段で長さが異なる場合があることから、GetLengthメソッドを使って2段目以降の長さを取得するといったこともできません。
ジャグ配列の場合、Lengthプロパティは1次元配列と同様、1段目の長さを返します。
ジャグ配列1段目の長さを取得する
using System;
class Sample {
static void Main()
{
// 1段目の長さが3である2段のジャグ配列
int[][] jagged = new int[3][];
Console.WriteLine("jagged.Length = {0}", jagged.Length);
// 1段目の長さが3である3段のジャグ配列
int[][][] doubleNested = new int[3][][];
Console.WriteLine("doubleNested.Length = {0}", doubleNested.Length);
// 1段目の長さが2である4段のジャグ配列
int[][][][] tripleNested = new int[2][][][];
Console.WriteLine("tripleNested.Length = {0}", tripleNested.Length);
}
}
実行結果
jagged.Length = 3 doubleNested.Length = 3 tripleNested.Length = 2
2段目以降の長さを取得する場合は、ジャグ配列内に格納されている配列のLengthプロパティを個別に参照する必要があります。