System.Nullable – třída
Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.
Třída Nullable podporuje typy hodnot, které lze přiřadit null
.
Typ je řečeno, že má hodnotu null, pokud může být přiřazena hodnota nebo lze přiřadit null
, což znamená, že typ nemá žádnou hodnotu. Ve výchozím nastavení jsou všechny odkazové typy, například String, nullable, ale všechny typy hodnot, například Int32, nejsou.
V jazyce C# a Visual Basic označíte typ hodnoty jako hodnotu null pomocí zápisu ?
za typem hodnoty. Například int?
v jazyce C# nebo Integer?
v jazyce Visual Basic deklaruje celočíselnou hodnotu typu, který lze přiřadit null
.
Třída Nullable poskytuje doplňkovou podporu struktury Nullable<T> . Třída Nullable podporuje získání základního typu typu s možnou hodnotou null a operace porovnání a rovnosti u dvojic typů s možnou hodnotou null, jejichž základní typ hodnoty nepodporuje obecné operace porovnání a rovnosti.
Boxing and unboxing
Pokud je zadán typ s možnou hodnotou null, modul CLR (Common Language Runtime) automaticky zadává podkladovou hodnotu objektu Nullable<T> , nikoli Nullable<T> samotný objekt. To znamená, že pokud HasValue je true
vlastnost , obsah Value vlastnosti je boxed.
HasValue
Pokud je false
vlastnost typu s možnou hodnotou null , výsledek operace boxování je null
. Pokud je podkladová hodnota typu s možnou hodnotou null rozbalována, modul CLR (Common Language Runtime) vytvoří novou Nullable<T> strukturu inicializovanou na podkladovou hodnotu.