C#鋸齒陣列

2019-10-16 23:17:38

鋸齒(Jagged)陣列是陣列的陣列。可以宣告一個型別為int的名為score的鋸齒陣列,如下:

int [][] scores;

宣告陣列,它不會在記憶體中建立陣列。要建立上面的陣列,參考以下程式碼:

int[][] scores = new int[5][];
for (int i = 0; i < scores.Length; i++) 
{
   scores[i] = new int[4];
}

可以將鋸齒陣列初始化為:

int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};

其中,scores是兩個整數陣列的陣列 - score [0]是一個3個整數的陣列,score [1]是一個4個整數的陣列。

範例

以下範例說明了鋸齒陣列的使用:

using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         /* a jagged array of 5 array of integers*/
         int[][] a = new int[][]{new int[]{0,0},new int[]{1,2},new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } };
         int i, j;

         /* output each array element's value */
         for (i = 0; i < 5; i++)
         {
            for (j = 0; j < 2; j++)
            {
               Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
            }
         }
         Console.ReadKey();
      }
   }
}

當編譯和執行上述程式碼時,會產生以下結果:

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8