Sdílet prostřednictvím


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 truevlastnost , obsah Value vlastnosti je boxed.

HasValue Pokud je falsevlastnost 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.