Sie sind hier: Startseite | Wissen

Was ist Nullable Value Type?

Während Referenztypen bereits in .NET 1.x den Zustand "null" als Repräsentanz des Zustandes "nicht vorhanden/nicht gesetzt" annehmen konnten, war dies für Wertetypen nicht vorgesehen. Ab .NET 2.0 existiert ein Hilfskonstrukt, um auch Wertetypen den Wert null zuweisen zu können.

In .NET 2.0 ist ein auf Null setzbarer Wertetyp eine generische Struktur, die aus dem eigentlich Wert (Value) und einen Hilfsflag HasValue (Typ boolean) besteht, das anzeigt, ob der Wert des Typs Null ist. Wenn HasValue den Wert false besitzt, führt ein Zugriff auf Value zu einer Ausnahme.

Die generische Struktur zur Aufnahme beliebiger Wertetypen heißt System.Nullable. In C# existiert ein besonderes Sprachkontrukt (Anhängen eines Fragezeichens an den Typ bei der Deklaration), das die Schreibweise verkürzt.

C# (Langform)
---
System.Nullable<Int32> c = null;

C# (Kurzform)
---
int? c = null;

VB.NET
---
Dim c As New System.Nullable(Of Integer)
c = Nothing

VB.NET (Kurzform)
---
Dim c? As Integer = Nothing

Querverweise zu anderen Begriffen im Lexikon

.NET 2.0
.NET 2.0
VB.NET
Referenztyp
Wertetyp
Ausnahme

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema Nullable Value Type  Gesamter Schulungsthemenkatalog