C#參差數組簡單描述
C#數組有很多值得學習的地方,這里我們主要介紹C#參差數組,包括介紹C#參差數組的聲明與初始化等方面
C#參差數組
C#參差數組又稱數組的數組(Array of Array),它表面上類似于上面講到的多維數組,但它本質上仍是一個一維數組,只不過它的元素又是一個數組(可以是一維數組、多維數組或者C#參差數組)。C#參差數組一個顯著的特性是作為它的元素的數組階數可以不同,非常形象地表現為“參差不齊”狀。由于本質仍是一個一維數組,C#參差數組的聲明與初始化和一維數組的規定一樣,只是由于在“感覺”上老把它假定為一個多維數組而導致在這里很容易犯錯,看下面的代碼與注釋:
- //聲明的同時初始化
- int[][] MyRagArr1=new int[][]{new int[]{1,2,3},new int[]{2,4,6}};
- //聲明并初始化二維數組,其元素為三維數組
- int[][] MyRagArr2={new int[]{1,2,3},
- new int[]{2,4,6}};//簡化形式的初始化
- //不可以用多維數組的初始化語句:int[][] MyRagArr2={{1,2,3},{2,4,6}};
- //聲明與初始化分開
- int[][] MyRagArr3;
- MyRagArr3=new int[2][];//初始化一維數組,
- //不可以這樣:MyRagArr3=new int[2][3];
- MyRagArr3[0]=new int[]{1,2,3};
- //初始化數組元素
- MyRagArr3[1]=new int[]{2,4,6};
- //初始化數組元素
- //初始化中可以指定數組的容
- int[][] MyRagArr4=new int[2][]{new int[]{1,2,3},new int[]{2,4,6}};
- //不可以: int[2][] MyRagArr=new int[2][]{new int[]{1,2,3},new int[]{2,4,6}};
- //也不可以: int[][] MyRagArr4=new int[2][3]{new int[]{1,2,3},new int[]{2,4,6}};
- //一個典型的“參差”數組
- int[][] MyRagArr5=new int[3][];
- MyRagArr5[0]=new int[]{1,2,3,4,5};
- MyRagArr5[1]=new int[]{1,2,3};
- MyRagArr5[2]=new int[]{1,2,3,4,5,6,7,8};
C#采用多個括號并列的方式來表達C#參差數組(數組的數組)。上面的代碼和注釋詳細地展示了C#參差數組在聲明和初始化時的用法。大多數行為和前面從一維數組中得來的經驗相同,但只有一點需要指出:為什么在指定數組容量的時候只能指定其第一個括號中的常量或常數,而不可以指定其后面括號中的容量?這可以從C#參差數組的本質——一維數組上找到答案。在對C#參差數組初始化的時候,實際上是在初始化一維數組中的各個元素。根據一維數組的規定,只能指定這些元素的個數,即一維數組的容量,也就是C#參差數組第一個括號中的常量或常數。
【編輯推薦】