System.Nullable, klasa

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Klasa Nullable obsługuje typy wartości, które można przypisać null.

Typ jest określany jako dopuszczający wartość null, jeśli można przypisać wartość lub można przypisać nullwartość , co oznacza, że typ nie ma żadnej wartości. Domyślnie wszystkie typy odwołań, takie jak String, mają wartość null, ale wszystkie typy wartości, takie jak Int32, nie są.

W językach C# i Visual Basic należy oznaczyć typ wartości jako dopuszczaną do wartości null przy użyciu ? notacji po typie wartości. Na przykład int? w języku C# lub Integer? Visual Basic deklaruje typ wartości całkowitej, który można przypisać null.

Klasa Nullable zapewnia dodatkową obsługę Nullable<T> struktury. Klasa Nullable obsługuje uzyskiwanie bazowego typu typu dopuszczanego do wartości null, a operacje porównania i równości dla par typów dopuszczalnych wartości null, których typ wartości bazowej nie obsługuje ogólnych operacji porównywania i równości.

Boxing and unboxing (Boks i rozpakowywanie)

W przypadku pola typu dopuszczalnego do wartości null środowisko uruchomieniowe języka wspólnego automatycznie pole wyboru wartości bazowej Nullable<T> obiektu, a nie Nullable<T> samego obiektu. Oznacza to, że jeśli HasValue właściwość to true, zawartość Value właściwości jest w polu.

HasValue Jeśli właściwość typu dopuszczającego wartość null to false, wynikiem operacji boxingu jest null. Gdy podstawowa wartość typu dopuszczanego do wartości null jest rozpakowane, środowisko uruchomieniowe języka wspólnego tworzy nową Nullable<T> strukturę zainicjowaną dla bazowej wartości.