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ć null
wartość , 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.