锯齿数组
普通二维数组: 锯齿数组:
在声明锯齿数组时,要依次放置开闭括号。在初始化锯齿数组时,先设置该数组包含的行数。定义各行中元素个数的第二个括号设置为空,因为这类数组的每一行包含不同的元素数。之后,为每一行指定行中的元素个数:
int[][] jagged = new int[3][]; jagged[0] = new int[2] {1, 2}; jagged[1] = new int[6] {3, 4, 5, 6, 7, 8}; jagged[2] = new int[3] {9, 10, 11};
迭代锯齿数组中所有元素的代码可以放在嵌套的for循环中。在外层的for循环中,迭代每一行,内层的for循环迭代一行中的每个元素:
for ( int row = 0; row < jagged.Length; row++) { for ( int element = 0; element <jagged[row].Length; element++) { Console.WriteLine("row: {0}, element: [1], value: {2}", row, element, <jagged[row].[element]); } }
该迭代显示了所有的行和每一行中的各个元素:
row: 0, element: 0, value: 1
row: 0, element: 1, value: 2
row: 1, element: 0, value: 3
row: 1, element: 1, value: 4
row: 1, element: 2, value: 5
row: 1, element: 3, value: 6
row: 1, element: 4, value: 7
row: 1, element: 5, value: 8
row: 2, element: 1, value: 9
row: 2, element: 2, value: 10
row: 2, element: 3, value: 11