【C#】ジャグ配列
ジャグ配列の使用
配列の配列型。縦横の長さが不揃いの多次元配列。
対して、長さの揃ったものは四角配列と呼ぶ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//ジャグ配列の定義 int[][] data = new int[4][]; data[0] = new[] { 10, 11, 12 }; data[1] = new[] { 20, 21, 22, 23 }; data[2] = new[] { 30 }; data[3] = new[] { 40, 41, 42, 43, 44, 45, 46 }; //コンソールに表示 for(int i =0; i < data.Length; i++) { Console.WriteLine(string.Join(", ", data[i])); } //出力内容 //10, 11, 12 //20, 21, 22, 23 //30 //40, 41, 42, 43, 44, 45, 46 |
lengthプロパティの持ち方に注意
多次元配列とlengthプロパティの値の持ち方が異なるので注意。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//多次元配列 var multi = new[,] { { 10, 11, 12}, { 20, 21, 22}, }; Console.WriteLine(multi.Length); //6 //ジャグ配列 var jagged = new int[3][]; data[0] = new[] { 10, 11, 12 }; data[1] = new[] { 20, 21, 22, 23 }; data[2] = new[] { 30 }; Console.WriteLine(jagged.Length); //3 |
ジャグ配列はあくまで配列の配列であり、多次元配列とはことなる。
そのため、lengthプロパティも要素数ではなく、配列の長さを返す。