数组

以前学多维数组的时候,看到有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();
        }

 

posted @ 2015-05-05 15:02  江境纣州  阅读(86)  评论(0编辑  收藏  举报