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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.