System.Nullable-Klasse
Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.
Die Nullable Klasse unterstützt Werttypen, die zugewiesen null
werden können.
Ein Typ ist als Nullwerte zulässig, wenn ihm ein Wert zugewiesen oder zugewiesen null
werden kann, was bedeutet, dass der Typ über keinen Wert verfügt. Standardmäßig sind alle Verweistypen, z String. B. nullfähig, aber alle Werttypen, z Int32. B. , sind nicht zulässig.
In C# und Visual Basic markieren Sie einen Werttyp als Nullwerte, indem Sie die ?
Schreibweise nach dem Werttyp verwenden. In C# oder Integer?
Visual Basic wird beispielsweise ein ganzzahliger Werttyp deklariert, int?
der zugewiesen null
werden kann.
Die Nullable Klasse bietet ergänzende Unterstützung für die Nullable<T> Struktur. Die Nullable Klasse unterstützt das Abrufen des zugrunde liegenden Typs eines nullfähigen Typs sowie Vergleichs- und Gleichheitsvorgänge für Paare nullabler Typen, deren zugrunde liegender Werttyp keine generischen Vergleichs- und Gleichheitsvorgänge unterstützt.
Boxing und Unboxing
Wenn ein Null-Wert eingegeben werden kann, ordnet die Common Language Runtime automatisch den zugrunde liegenden Wert des Nullable<T> Objekts und nicht das Nullable<T> Objekt selbst ein. Das heißt, wenn die HasValue Eigenschaft lautet true
, wird der Inhalt der Value Eigenschaft boxt.
Wenn die HasValue
Eigenschaft eines nullablen Typs lautet, lautet false
null
das Ergebnis des Boxvorgangs. Wenn der zugrunde liegende Wert eines nullfähigen Typs unboxiert ist, erstellt die Common Language Runtime eine neue Nullable<T> Struktur, die für den zugrunde liegenden Wert initialisiert wurde.