1. 程式人生 > >C# 九、陣列

C# 九、陣列

概念:

陣列:一種資料結構,它可以包含同一型別的多個元素。

陣列元素:陣列中的資料。

訪問陣列元素:陣列名[下標]  ——————> 下標從0開始。

陣列長度(Length):陣列中的元素個數。

遍歷:就是有序地檢視陣列的每一個元素。

一維陣列

宣告/定義:資料型別[] 陣列名;(示例:int[]a;)

         定義陣列後並不能直接使用,需要先對陣列進行初始化,初始化就是指定陣列中元素的個數,為陣列分配記憶體空間,也可以同時為陣列元素賦初值。

初始化:

格式一:陣列名=new 資料型別[陣列元素個數]{陣列元素列表};

示例:a=new int[5]{1,5,8,7,6};

格式二:陣列名=new 資料型別[陣列元素個數];

示例:a=new int[5];

格式三:陣列名=new 資料型別[]{陣列元素列表};

示例:a=new int[]{1,5,8,7,6};

簡化後:資料型別[]陣列名={陣列元素列表};

示例:int[] a ={1,5,8,7,6};

遍歷:

int[] A = { 1,3,5,7,2};

示例一:

for (int i=0;i<A.Length;i++)
{ 
 	Console.WriteLine(A[i]);  
}

示例二:

foreach (var item in A)
{
         Console.WriteLine(item);
}

二維陣列

宣告/定義:資料型別[,] 陣列名;(示例:int[,]b;)

初始化:

格式一:陣列名 = new 資料型別[行數,列數];

示例:b = new int[2,3];

格式二:陣列名 = new 資料型別[行數,列數]{陣列元素列表};

示例:b = new int[2,3]{{14,25,9},{5,74,56}};

簡化後:資料型別[,] 陣列名={陣列元素列表}

示例:int[,] b = { { 1, 2, 9 }, { 5, 4, 6 } };

遍歷:

int[,] b = { { 14, 25, 9 }, { 5, 74, 56 } };

示例一:

for (int i = 0; i < 2; i++)
{
       for (int j = 0; j < 3; j++)
       {
             Console.WriteLine("{0}行{1}列元素為{2}",i,j,b[i,j]);
       }
}

示例二:

foreach (var item in b)
{
       Console.WriteLine(item);
}

多維陣列

宣告/定義:資料型別[,,] 陣列名;(示例:int[,,]c;)

初始化:

格式一:陣列名 = new 資料型別[頁數,行數,列數];

示例:c = new int[2,3,5];

格式二:陣列名 = new 資料型別[行數,列數]{陣列元素列表};

示例: c = new int[2, 3, 1] { { { 1},{2 },{ 2} },{ { 1},{ 2},{3 } } };

簡化後:資料型別[,,] 陣列名={陣列元素列表}

示例:int[,,] c = { { { 1},{2 },{ 2} },{ { 1},{ 2},{3 } } };

遍歷:

int[,,] c = { { { 1},{2 },{ 2} },{ { 1},{ 2},{3 } } };

示例一:

for (int i = 0; i < 2; i++)
 {
         for (int j = 0; j < 3; j++)
         {
                    for (int k = 0; k < 1; k++)
                    {
                        Console.WriteLine("{0}頁{1}行{2}列元素為{3}", i, j,k,c[i,j,k]);
                    }
         }
}

示例二:

foreach (var item in c)
{
       Console.WriteLine(item);
}

判斷陣列維數:

     int[,] b = { { 14, 25, 9 }, { 5, 74, 56 } };

     Console.WriteLine(b.Rank);   ——————>2

交錯/鋸齒陣列

交錯陣列的每個元素又是一個數組。

宣告/定義:資料型別[][]陣列名;(示例:int[][]d;)

初始化:

格式一:陣列名 = new 資料型別[陣列數][];

示例:d = new int[2][];

格式二:陣列名 = new 資料型別[陣列數][]{陣列元素列表};

示例:  d=new int[3][] { new int[]{ 2},new int[] { 3},new int[] { 5} };

簡化後:資料型別[,,] 陣列名={陣列元素列表}

示例:int[][]d = { new int[]{ 2,5},new int[] { 3,8},new int[] { 5,14} };

遍歷:

int[][]d = { new int[]{ 2,5},new int[] { 3,8},new int[] { 5,14} };

示例一:

for (int i = 0; i < 3; i++)
{
       for (int j = 0; j < 2; j++)
       {
               Console.WriteLine(d[i][j]);
       }
}

示例二:

foreach (var item in d)
{
         foreach (var items in item)
         {
               Console.WriteLine(items);
         }
}