下表顯示 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) 方法來叫用無參數建構函式,以取得型別的預設值。
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格的下列各節: