Wer kennt das nicht: “NullReferenceException”. Entweder prüft man im Code ständig auf NULL oder man riskiert unschöne Programmabstürze. Durch ständige “if (… == null) {} else {}” Blöcke wird der Code schnell unleserlich und damit schwierig zu verstehen. Hier sind ein paar Varianten von NULL-Prüfungen und anderen schlanken, aber effektiven Varianten, um den Code leserlicher zu gestalten.

Beispiel

Das folgende Beispiel zeigt eine klassische “if…then..else” Abfrage mit vielen Zeilen Code um lediglich den Standardtext “leer” zurück zu geben, falls die Eigenschaft “Name” des Objekt NULL ist, ansonsten die Eigenschaft “Name” des Objektes.

if (myObject.Name == null)
{
    return "leer";
}
else
{
    return myObject.Name;
}

Variante 1

if (myObject.Name == null)
    return "leer";
else
    return myObject.Name;

Variante 2

// entweder so ...
myObject.Name == null ? return "leer" : return myObject.Name;
// oder so ...
return myObject.Name == null ? "leer" : myObject.Name;

Variante 3

return myObject.Name ?? "leer";