System.Nullable 類別

本文提供此 API 參考文件的補充備註。

類別 Nullable 支援可指派的實值型別 null

如果型別可以指派值或可指派 null,則類型會是可為 Null 的,這表示類型沒有任何值。 根據預設,所有參考型別,例如 String、 都是可為 Null 的,但所有實值型別,例如 Int32, 則不是。

在 C# 和 Visual Basic 中,您可以使用實值類型之後的 ? 表示法,將實值類型標示為可為 Null。 例如, int? 在 C# 或 Integer? Visual Basic 中,宣告可指派的整數實值型別 null

類別 Nullable 提供 結構的 Nullable<T> 互補支援。 類別 Nullable 支援取得可為 Null 型別的基礎型別,以及在基礎實值型別不支援泛型比較和相等運算的可 Null 型別配對上進行比較和相等運算。

Box 處理和 Unbox 處理

當 Boxed 可為 Null 的型別時,Common Language Runtime 會自動方塊物件的基礎值 Nullable<T> ,而不是 Nullable<T> 物件本身。 也就是說,如果 HasValue 屬性是 true,則會將 屬性的內容 Value 設為 Boxed。

HasValue如果可為 Null 型別的 屬性是 false,Boxing 作業的結果為 null。 將可為 Null 型別的基礎值解壓縮時,Common Language Runtime 會建立初始化為基礎值的新 Nullable<T> 結構。