C#數組
數組存儲相同類型固定大小元素的連續集合。數組用於存儲數據的集合,但它往往是更加有用認為數組作為相同類型的變量的集合。
相反,聲明單個變量,如 number0, number1, ..., 和 number99,,聲明一個數組變量,如numbers[0], numbers[1], 和..., numbers[99]表示單個變量。在數組的特定元素由一個索引進行訪問。
所有數組由連續的內存位置。最低的地址對應於第一元素和最高地址為最後一個元素地址。
聲明數組
要在C#中聲明數組,可以使用下麵的語法:
datatype[] arrayName;
這裡,
-
datatype用於指定要被存儲在數組中的元素的類型
-
[ ] 指定數組的大小
-
arrayName 指定數組的名稱
例如,
double[] balance;
初始化數組
聲明數組不初始化在存儲器的數組。當數組變量初始化,您可以賦值給數組。
數組是引用類型,所以需要使用new關鍵字來創建數組的一個實例。
例如,
double[] balance = new double[10];
賦值數組
可以以單獨的數組元素,使用索引號,如賦值:
double[] balance = new double[10]; balance[0] = 4500.0;
可以指定值一次聲明數組,就像:
double[] balance = { 2340.0, 4523.69, 3421.0};
還可以創建和初始化數組,如:
int [] marks = new int[5] { 99, 98, 92, 97, 95};
在前麵的情況,還可以省略數組大小,如:
int [] marks = new int[] { 99, 98, 92, 97, 95};
也可以一個數組變量複製到另一個目標數組變量。在這種情況下,無論是目標和源將指向相同的內存位置:
int [] marks = new int[] { 99, 98, 92, 97, 95}; int[] score = marks;
當創建一個數組,C#編譯器隱式初始化每個數組元素為默認值取決於數組類型。例如,對於一個int數組中的所有元素將被初始化為0。
訪問數組元素
一個元素由索引數組名訪問。這是由放置在方括號內的元素的索引數組的名稱後進行。例如:
double salary = balance[9];
以下是一個例子,將使用所有上述三個概念即聲明,分配和訪問數組:
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; } /* output each array element's value */ for (j = 0; j < 10; j++ ) { Console.WriteLine("Element[{0}] = {1}", j, n[j]); } Console.ReadKey(); } } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
使用 foreach 循環
在前麵的例子中,我們已經使用了一個for循環用於訪問每個數組元素。還可以使用foreach語句來遍曆數組。
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ /* initialize elements of array n */ for ( int i = 0; i < 10; i++ ) { n[i] = i + 100; } /* output each array element's value */ foreach (int j in n ) { int i = j-100; Console.WriteLine("Element[{0}] = {1}", i, j); i++; } Console.ReadKey(); } } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
C#數組詳解
數組在C#中是很重要的,應該需要很多更詳細的。有下列關係到數組幾個重要概念,C#程序員應當清楚:
概念 | 描述 |
---|---|
多維數組 | C#支持多維數組。多維數組的最簡單的形式是二維數組 |
鋸齒狀數組 | C#支持多維數組,這是數組的數組 |
通過數組到函數 | 可以通過指定數組的名稱冇有索引傳遞給函數的指針數組 |
參數數組 | 這是用於使未知數量的參數傳到函數 |
Array 類 | 定義在係統命名空間中,它是基類所有的數組,並使用數組提供了各種屬性和方法 |