共用方式為


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# 語言規格的下列各節

另請參閱