Die .NET CLR - Version 2.0

Neues in C#: Nullable Types

Nullable Types sind Datentypen, die alle Werte des zugrunde liegenden Typen annehmen können - und zusätzlich den Wert null. Somit kann man Variable erzeugen, bei denen über den Wert null signalisiert, dass sie noch nicht initialisiert wurden, beispielsweise eine Integer-Variable:

int? var;
if( var == null) Console.WriteLine("Nicht initialisiert");
else Console.WriteLine( var.Value);

Nullable Types sind als Generics gelöst: Ein nullable Type ist vom TypSystem.Nullable<T>, bei dem <T> den Typ angibt. In C# gibt es dafür eine andere abkürzende Schreibweise, und zwar T?. Man schreibt also den eigentlichen Typ gefolgt von einem "?".

Nullable Types besitzen zwei Properties, und zwar HasValue und Value. Ersteres liefert true, wenn die Variable einen Wert zugewiesen bekommen hat, und Value liefert den eigentlichen Wert.