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);
}
}