2011-05-25 42 views
1

我引用下面的段落從書: C#編程語言 第四版在聲明它們之前是否可以使用數組和空類型?

C#支持單和任何類型的 多維數組。 與上面列出的類型不同,在可以使用數組之前,數組 不必聲明爲 。相反, 陣列類型由 構成,類型名稱後面帶方括號 括號。例如,int []是一個 int的一維數組, int [,]是一個二維數組 int,而int [] []是一個 一維數組 一維數組int。

null的類型也不必被 聲明就可以使用它們之前。對於 每個不可修改的值類型T有 是一個對應的可爲空的類型T ?, ,它可以保留一個附加值 爲空。例如,int?是一個類型爲 ,可以保存任何32位整數或 值null。

如何在不事先聲明它們的情況下使用數組和空類型?

回答

6

簡短的回答

什麼的報價想說的是,你不必「創造」(或聲明)陣列和空值類型,以同樣的方式聲明自定義類,以便使用它們。它們已經作爲C#語言功能提供。

龍答案

如果你想聲明的int秒的陣列,只要做到這一點:

int[] intArray = new int[5]; 

如果你犯了一個自定義類,例如Foo,並要聲明一個Foo對象的數組,第一個引用是說你不必編寫代碼來告訴編譯器關於可以容納Foo對象的數組類型;只是這樣做,編譯器會找出休息:

Foo[] fooArray = new Foo[5]; 

同樣,創造空值類型的項目只是追加?的類型:

int? nullableInt = null; 

此外,以上只是語法糖爲Nullable<T>結構:

Nullable<int> nullableInt = null; 

注意,這僅適用於值類型(包括結構),因爲所有的引用類型(對象,d選舉等)都可以默認爲空。

+1

我明白了。你升級了我的閱讀理解。 :) – xport 2011-05-25 07:55:39

相關問題