Nullbare (Wert-)Typen

Referenztypen können einen nicht existierenden Wert durch eine Nullreferenz darstellen. Bei Werttypen ist das allerdings normalerweise nicht möglich:

string s = null; // Okay - Referenztyp

int i = null; // Kompilierungsfehler -

// int kann nicht null sein

Um null (nicht 0) in einem Werttyp zu repräsentieren, müssen Sie ein spezielles Konstrukt namens nullbarer Typ nutzen. Ein nullbarer Typ wird durch einen Werttyp mit einem Fragezeichen ? dahinter kenntlich gemacht:

int? i = null; // Okay - nullbarer Typ

Console.WriteLine (i == null); // True

Das Struct Nullable<T>

T? wird in System.Nullable<T> umgewandelt. Nullable<T> ist ein leichtgewichtiges, unveränderliches Struct, das nur zwei Felder für Value und HasValue besitzt. ...

Get C# 8.0 – kurz & gut, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.