C# 數(shù)組

2018-01-16 01:19 更新

C#數(shù)組

數(shù)組表示特定類型的固定數(shù)量的變量。

在元素類型后面創(chuàng)建一個(gè)帶方括號(hào)的數(shù)組。

例如:


char[] letterArray = new char[5]; // Declare an array of 5 characters 

在元素類型后面創(chuàng)建一個(gè)帶方括號(hào)的數(shù)組。


letterArray[0] = 'a'; 
letterArray[1] = 'e'; 
letterArray[2] = 'i'; 
letterArray[3] = 'o'; 
letterArray[4] = 'u'; 
Console.WriteLine (letterArray[1]); // e 

我們可以使用for循環(huán)語(yǔ)句來(lái)遍歷數(shù)組中的每個(gè)元素。


for (int i = 0; i < letterArray.Length; i++) {
    Console.Write (letterArray[i]); // aeiou 
}

數(shù)組的Length屬性返回?cái)?shù)組中元素的數(shù)量。

創(chuàng)建數(shù)組后,無(wú)法更改其長(zhǎng)度。

數(shù)組初始化表達(dá)式可以在一個(gè)步驟中聲明和填充數(shù)組:


char[] letterArray = new char[] {'a','e','i','o','u'}; 

或簡(jiǎn)單為:


char[] letterArray = {'a','e','i','o','u'}; 

所有數(shù)組都繼承自System.Array類,為所有數(shù)組提供通用服務(wù)。

默認(rèn)元素初始化

創(chuàng)建數(shù)組總是使用默認(rèn)值預(yù)先初始化元素。

例如,考慮創(chuàng)建一個(gè)整數(shù)數(shù)組。因?yàn)閕nt是一個(gè)值類型,所以分配1000個(gè)整數(shù)。

每個(gè)元素的默認(rèn)值為0:


int[] a = new int[1000]; 
Console.Write (a[123]); // 0 

值類型與引用類型

當(dāng)元素類型是值類型時(shí),每個(gè)元素值將作為數(shù)組的一部分分配。

例如:


struct Point { 
  public int X, Y; 
} 

Point[] a = new Point[1000]; 
int x = a[500].X; // 0 

如果Point是一個(gè)類,創(chuàng)建數(shù)組將只分配10個(gè)空引用:


class Point { 
  public int X, Y; 
} 

Point[] a = new Point[10]; 
int x = a[5].X; // Runtime error, NullReferenceException 

要避免此錯(cuò)誤,請(qǐng)?jiān)趯?shí)例化數(shù)組后顯式實(shí)例化Point值:


Point[] a = new Point[10]; 
for (int i = 0; i < a.Length; i++){ // Iterate i from 0 to 9
    a[i] = new Point();             // Set array element i with new point 
}

數(shù)組本身始終是引用類型對(duì)象,不管元素類型如何。

例如,以下是合法的:


int[] myArray = null; 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)