Freigeben über


System.Nullable-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die Nullable Klasse unterstützt Werttypen, die zugewiesen nullwerden können.

Ein Typ ist als Nullwerte zulässig, wenn ihm ein Wert zugewiesen oder zugewiesen nullwerden 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 nullwerden 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 falsenulldas 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.