数组
以前学多维数组的时候,看到有int[,]和int[][]两种表示方式,
一:int[,] myarr = new int[,]{{1,2,3},{4,5,6},{7,8,9}};可以。int[,] myarr = new int[1,2];可以
二:int[][] myarr = new int[][]{{1,2,3},{4,5,6},{7,8,9}};会编译出错。int[][] myarr = new int[1][2];会编译出错。
所以导致我基本不用int[][];
因为数组在初始化之后长度不可变更,也导致之后我基本使用集合了。
今天在看C#4的时候,看到int[][]其实不是多维数组,而是锯齿数组。
接下来就是例子:
public static void Main() { // 多维数组 int[,] myArray = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; Console.WriteLine("多维数组的最大长度:" + myArray.Length); for (int i = 0; i <= myArray.GetUpperBound(0); i++) { for (int j = 0; j <= myArray.GetUpperBound(1); j++) { Console.Write(myArray[i, j]); } Console.WriteLine(); } // 锯齿数组 //int[][] jagged = new int[3][2]; 报错 int[][] jagged = new int[3][]; jagged[0] = new int[] { 1, 2 }; jagged[1] = new int[] { 3, 4, 5 }; jagged[2] = new int[] { 6, 7, 8, 9 }; for (int i = 0; i <= jagged.GetUpperBound(0); i++) { // 没有jaggedGetUpperBound(1) for (int j = 0; j <= jagged[i].GetUpperBound(0); j++) { Console.Write(jagged[i][j]); } Console.WriteLine(); } Console.Read(); }