Nullable-Referenztypen in C#
In dieser Lektion verwendest du Nullable-Referenztypen, damit der Compiler dir hilft, Stellen mit möglichen null-Werten zu finden.
Einführung
Der Fehler NullReferenceException tritt auf, wenn du auf eine Variable zugreifst, die null ist, und er gehört zu den häufigsten Fehlern überhaupt. In C# kannst du mit dem Zeichen ? ausdrücklich kennzeichnen, welche Variablen null sein dürfen, etwa string?. Dann warnt der Compiler, wenn du eine solche Variable ohne null-Prüfung verwendest.
Die Variable nickname hat den Typ string? und darf deshalb null sein. Der Operator ?? (null-coalescing) liefert "Anonymous", wenn nickname null ist, deshalb hat displayName immer einen Wert, und der Zugriff auf Length ist sicher. Die Ausgabe ist Anonymous (9).
Ausführbares C#-Beispiel
using System;
class Program
{
static void Main()
{
string? nickname = null;
string displayName = nickname ?? "Anonymous";
Console.WriteLine($"{displayName} ({displayName.Length})");
}
}
Anonymous (9)