Typy boxerská s možnou hodnotou Null (C# programování Guide)
Pokud je objekt hodnotu null, jsou pouze boxed objekty na základě typů s možnou hodnotou Null.Pokud HasValue je false, odkaz na objekt je přiřazen k null namísto boxerská.Příklad:
bool? b = null;
object o = b;
// Now o is null.
Pokud je objekt nenulové--Pokud HasValue je true – pak boxing dojde, ale je pouze základní typ objektu s možnou hodnotou NULL je založena na boxed.Boxing typ s možnou hodnotou Null nenulovou hodnotu pole není typ hodnoty, System.Nullable<T> který obtéká typ hodnoty.Příklad:
bool? b = false;
int? i = 44;
object bBoxed = b; // bBoxed contains a boxed bool.
object iBoxed = i; // iBoxed contains a boxed int.
Jsou stejné jako typy Structure boxerská vytvořeny dva objekty krabici.A stejně jako typy Structure krabici, mohou být variant do typů s možnou hodnotou Null, jako v následujícím příkladu:
bool? b2 = (bool?)bBoxed;
int? i2 = (int?)iBoxed;
Poznámky
Chování s možnou hodnotou Null typy při boxed má dvě výhody:
S možnou hodnotou Null objektů a jejich protějškem krabici lze testovat null:
bool? b = null; object boxedB = b; if (b == null) { // True. } if (boxedB == null) { // Also true. }
Krabici s možnou hodnotou Null typy plně podporují funkce základní typ:
double? d = 44.4; object iBoxed = d; // Access IConvertible interface implemented by double. IConvertible ic = (IConvertible)iBoxed; int i = ic.ToInt32(null); string str = ic.ToString();
Viz také
Úkoly
Jak: identifikovat typ s možnou hodnotou Null (Příručka programování C#)
Referenční dokumentace
Typy s možnou hodnotou Null (Příručka programování C#)