1、參數數組/傳遞數組參數
C# 參數數組能用於傳遞未知數量的參數給函數,當聲明一個方法時,不能確定要傳遞給函數的參數個數。就需要使用到。同時需要關鍵字params
// 定義如下函數,參數爲一個不確定的 int 數組
public void AddElements(params int[] arr)
{
foreach(int i in arr)
{
Console.WriteLine("{0}", i);
}
}
// 調用時參數可以填多個 int 值
xxx.AddElements(512, 720, 250, 567, 889);
C# 傳遞數組給函數,可以通過指定不帶索引的數組名稱來給函數傳遞一個指向數組的指針。
// 定義如下函數,參數爲一個不確定的 int 數組
public void printArr(int[] arr)
{
foreach(int i in arr)
{
Console.WriteLine("{0}", i);
}
}
// 調用時參數可以填多個 int 值
xxx.printArr(new int[]{512, 720, 250, 567, 889});
2、交錯數組/多維數組
C# 交錯數組指由數組組成的數組。是一維數組。初始化時需要指定一維長度。
C# 多維數組又稱爲矩形數組。初始化時需要同時確定每一維長度。
// ---------交錯數組---------
// 初始化方式1
int[][] scores1 = new int[5][];
for (int i = 0; i < scores1.Length; i++)
{
scores1[i] = new int[4];
}
// 初始化方式2 *new int[2][]* 可以省略
int[][] scores2 = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};
// ---------多維數組---------
// 初始化方式1
int[,] scores3 = new int[2, 2];
// 初始化方式2 *new int[,]* 可以省略
int[,] scores4 = new int[,]{
{1,2},
{3,4}
};
注:多維和交錯數組最直觀區別在於Length不同,Length是獲取所有維度的總的數據長度,交錯數組屬於一維,所以只有一維的長度。
3、Array 類
Array 類是 C# 中所有數組的基類
Array 基本屬性:
1 IsFixedSize
獲取一個值,該值指示數組是否帶有固定大小。
2 IsReadOnly
獲取一個值,該值指示數組是否只讀。
3 Length
獲取一個 32 位整數,該值表示所有維度的數組中的元素總數。
4 LongLength
獲取一個 64 位整數,該值表示所有維度的數組中的元素總數。
5 Rank
獲取數組的秩(維度)。
Array 常用的方法:
1 Clear
根據元素的類型,設置數組中某個範圍的元素爲零、爲 false 或者爲 null。
2 Copy(Array, Array, Int32)
從數組的第一個元素開始複製某個範圍的元素到另一個數組的第一個元素位置。長度由一個 32 位整數指定。
3 CopyTo(Array, Int32)
從當前的一維數組中複製所有的元素到一個指定的一維數組的指定索引位置。索引由一個 32 位整數指定。
4 GetLength
獲取一個 32 位整數,該值表示指定維度的數組中的元素總數。
5 GetLongLength
獲取一個 64 位整數,該值表示指定維度的數組中的元素總數。
6 GetLowerBound
獲取數組中指定維度的下界。
7 GetType
獲取當前實例的類型。從對象(Object)繼承。
8 GetUpperBound
獲取數組中指定維度的上界。
9 GetValue(Int32)
獲取一維數組中指定位置的值。索引由一個 32 位整數指定。
10 IndexOf(Array, Object)
搜索指定的對象,返回整個一維數組中第一次出現的索引。
11 Reverse(Array)
逆轉整個一維數組中元素的順序。
12 SetValue(Object, Int32)
給一維數組中指定位置的元素設置值。索引由一個 32 位整數指定。
13 Sort(Array)
使用數組的每個元素的 IComparable 實現來排序整個一維數組中的元素。
14 ToString
返回一個表示當前對象的字符串。從對象(Object)繼承。