C# 型別的預設值 (C# 參考)
下表顯示 C# 類型的預設值:
類型 | 預設值 |
---|---|
任何 參考類型 | null |
任何內建的整數數值類型 | 0 (零) |
任何 內建浮點數類型 | 0 (零) |
布爾 | false |
char |
'\0' (U+0000) |
列舉 | 表達式所產生的值 (E)0 ,其中 E 是列舉標識符。 |
結構 | 將所有實值型別欄位設為預設值,並將所有參考型別欄位設定為 null 所產生的值。 |
任何可空的實值類型 |
HasValue 屬性是 false 且未定義 Value 屬性的實例。 該預設值也稱為可為 Null 的值類型的 null 值。 |
預設值表達式
使用 default
運算符 來產生型別的預設值,如下列範例所示:
int a = default(int);
您可以使用 default
常值 來將變數初始化為其類型的預設值。
int a = default;
實值類型的無參數建構函式
對於實值型別,隱含 無參數建構函式也會產生型別的預設值,如下列範例所示:
var n = new System.Numerics.Complex();
Console.WriteLine(n); // output: (0, 0)
在運行時間,如果 System.Type 實例代表實值型別,您可以使用 Activator.CreateInstance(Type) 方法來叫用無參數建構函式,以取得型別的預設值。
注意
結構類型(它是一種值類型)可能會有 明確的無參數建構函式, 這可能會產生該類型的非預設值。 因此,我們建議使用 default
運算符或 default
常值來產生型別的預設值。
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格的下列各節: