數組概述
C# 數組從零開始建立索引,即數組索引從零開始。 C# 中數組的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。
宣告數組時,方括號 ([]) 必須跟在型別後面,而不是標識符後面。在 C# 中,將方括號放在識別字後面是不合法的語法。
int[] table; // not int table[];
另一個細節是,數組的大小不是其類型的一部分,而在 C 語言中它卻是數組類型的一部分。這使您可以宣告一個陣列並向它分配 int 物件的任意數組,而不管數組長度如何。
int[] numbers; // declare numbers as an int array of any size
numbers = new int[10]; // numbers is a 10-element array
. it's a 20-element array 聲明數組C# 支援一維數組、多維數組(矩形數組)和數組的數組(交錯的數組)。下面的範例顯示如何宣告不同類型的陣列:一維陣列:
int[] numbers;
string[,] names;
string
byte[][] scores;
int[] numbers = new int[5];
string[,] names = new string[5,4];
數組的陣列(交錯的):
byte[][] scores = new byte[5][];
for (int x = 0; x {🜠 = new byte[4];
}
初始化陣列
string[] names = new string[3] {"Matt", "Joanne", " Robert"};
string[] names = new string[] {"Matt", "Joanne", "Robert"};
string[] names = {"Matt", "Joanne", "Robert"};
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert" } };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
string[,] siblings = { {"Mike", "Amy "}, {"Mary", "Albert"} };
numbers[4] = 5;
numbers[1, 1] = 5;
下面宣告一個一維交錯數組,它包含兩個元素。第一個元素是兩個整數的數組,第二個元素是三個整數的數組:
int[][] numbers = new int[][] { new int[] {1, 2}, new int [] {3, 4, 5}
};
下面的語句向第一個陣列的第一個元素賦以 58,第二個陣列給第二個陣列的以 667:
numbers[ 0][0] = 58;
numbers[1][1] = 667;
陣列是物件
在 C# 中,陣列實際上是物件。 System.Array 是所有陣列類型的抽象基底類型。可以使用 System.Array 具有的屬性以及其他類別成員。這種用法的一個範例是使用「長度」(Length) 屬性來取得陣列的長度。以下的程式碼將 numbers 陣列的長度(為 5)賦給名為 LengthOfNumbers 的變數:
int[] numbers = {1, 2, 3, 4, 5};
int LengthOfNumbers = numbers.Length
System.Array 類別提供許多有用的其他方法/屬性,例如用於排序、搜尋和複製陣列的方法。
對陣列使用 foreach
C# 也提供 foreach 語句。這個語句提供一種簡單、明了的方法來循環存取陣列的元素。例如,下面的程式碼建立一個名為 numbers 的數組,並用 foreach 語句循環存取該陣列:
int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0};
foreach (int i in numbers){
System.Console.WriteLine(i);
}
由於有了多維數組,可以使用相同方法來循環存取元素,例如:
由於有了多維數組,可以使用相同方法來循環存取元素,例如:
new int[3, 2] {{9, 99}, {3, 33}, {5, 55}};
foreach(int i in numbers)
{
Console.Write("{0} ", i) ;
}
此範例的輸出為:
9 99 3 33 5 55
不過,由於有了多維數組,使用嵌套 for 循環將使您可以更好地控制數組元素。
更多C#陣列學習相關文章請關注PHP中文網!