C# int[,] 和 int[][]


int[] 一維數組

int[,]  二維數組

int[] []  交錯數組 又稱“數組的數組”


  一維數組聲明與初始化

聲明:  int[] a = new int[];

 

聲明與初始化:  int array1 = new int[] {1,2,3,4};

         int array1 = {1,2,3,4};    //  快捷聲明和初始化的方式

 

不初始化的情況下聲明數組變量,但必須使用 new 運算符向此變量分配數組

    int[] array3;

    array3 = new int[] { 1, 3, 5, 7, 9 };   // OK

    // array3 = {1, 3, 5, 7, 9};     // Error

 

 
int[,]   二維數組        int[, , , ] 三維數組            多維數組
 
聲明  int[,]  array = new int[2,4]    int[,,,] array2 = new int[2,5,4]
聲明初始化   int array2D = new int[,] { [1,2}, {3,4}, {3,5}}
        int[,] array2Da = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
 
       int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } };
 
       int[, , ] array3D =new int[2,2,3]{ { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } };
 
如果選擇在不初始化的情況下聲明數組變量,則必須使用  new 運算符將數組賦予變量
     int[,] array5;
    array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK
    //array5 = {{1,2}, {3,4}, {5,6}, {7,8}};   // Error
 
 

交錯數組是元素為數組的數組。 交錯數組元素的維度和大小可以不同。

 

聲明:

int[][] jaggedArray = new int[3][];
 
初始化:
    jaggedArray[ 0] = new int[5];
       jaggedArray[1] = new int[4];
       jaggedArray[2] = new int[2];
 
每個元素都是一維整數數組。 第一個元素是由 5 個整數組成的數組,第二個是由 4 個整數組成的數組,而第三個是由 2 個整數組成的數組。
 

     int[][] jaggedArray = new int[][]{

    new int[]{1,3,4,5},

    new int[] {0,2,4},

    new int[] {2,4}

    };

 

或者

 

     int[][] jaggedArray ={

    new int[]{1,3,4,5},

    new int[] {0,2,4},

    new int[] {2,4}

    }

 


 

  多維數組與交錯數組 理解上是沒有多大的差異的,交錯數組實際上實現了多維數組的差異化,使用的時候更加自由。

  在C#編譯里面,多維數組和差異數組是無法隱性轉換的。 作為參數的時候要注意統一。

 


微軟使用手冊        https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/arrays/single-dimensional-arrays


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM