共用方式為


System.Nullable 類別

備註

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

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

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

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

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

值類型裝箱(Boxing)和拆箱(unboxing)

當可為 Null 的型別進行裝箱時,公用語言執行平台會自動將 Nullable<T> 物件的基礎值進行裝箱,而不是裝箱 Nullable<T> 物件本身。 也就是說,如果 HasValue 屬性是 true,則會封裝 Value 屬性的內容。

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