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 wird als nullable bezeichnet, wenn ihm ein Wert oder null zugewiesen werden kann, was bedeutet, dass der Typ keinen Wert hat. Standardmäßig sind alle Verweistypen, wie z. B. String, nullfähig, aber alle Werttypen, wie z. B. Int32, sind nicht nullfähig.

In C# und Visual Basic markieren Sie einen Werttyp als Nullwerte, indem Sie die ? Schreibweise nach dem Werttyp verwenden. Zum Beispiel deklariert int? in C# oder Integer? in Visual Basic einen Ganzzahlwerttyp, dem null zugewiesen 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.

Boxen und Entboxen

Wenn ein nullable Typ geboxed wird, boxed die Common Language Runtime automatisch den zugrunde liegenden Wert des Nullable<T>-Objekts, nicht das Nullable<T>-Objekt selbst. Das heißt, wenn die HasValue-Eigenschaft true ist, wird der Inhalt der Value-Eigenschaft geboxed.

Wenn die HasValue-Eigenschaft eines nullfähigen Typs false ist, ist das Ergebnis des Boxvorgangs null. Wenn der zugrundeliegende Wert eines nullbaren Typs unboxed ist, erstellt die Common Language Runtime eine neue Nullable<T> Struktur, die mit dem zugrundeliegenden Wert initialisiert wird.