ジャグ配列の場合でも配列初期化子を使って初期化することができます。 配列初期化子を使って初期化する場合、多次元配列の場合と同様の記述ができますが、1段目はnew
を省略して記述できるのに対し、2段目以降はnew
を省略して記述することはできないという点に注意が必要です。
次の例では、1段目の長さが3、2段目の長さが各々3, 2, 4の計9個の要素を持つ2段のジャグ配列を作成すると同時に初期化を行っています。
配列初期化子を使って2段ジャグ配列を初期化する
Imports System
Class Sample
Shared Sub Main()
' 1段目の長さが3、2段目の長さが各々3, 2, 4の2段のジャグ配列を作成
Dim jagged()() As Integer = { _
New Integer() {0, 1, 2}, _
New Integer() {3, 4}, _
New Integer() {5, 6, 7, 8} _
}
Console.WriteLine("jagged(0)(0) = {0}", jagged(0)(0))
Console.WriteLine("jagged(0)(1) = {0}", jagged(0)(1))
Console.WriteLine("jagged(1)(0) = {0}", jagged(1)(0))
Console.WriteLine("jagged(2)(3) = {0}", jagged(2)(3))
End Sub
End Class
実行結果
jagged[0][0] = 0 jagged[0][1] = 1 jagged[1][0] = 3 jagged[2][3] = 8
このコードで作成・初期化される2段のジャグ配列を図式化すると次のようになります。
jagged[0] → 012 |
jagged[1] → 34 |
jagged[2] → 5678 |
3段以上のジャグ配列も同様にして初期化することができます。 配列の中に配列を含めるよう入れ子に記述していくことで多段のジャグ配列を初期化できます。