Working with Nullable Values Types

Working with value types and data can sometimes be challenging because a value type doesn’t normally hold a null value. This lesson shows you how to overcome this limitation with C# nullable types. Here’s what you’ll learn.

Beispiel Anhand von Magic Numbers

Immer wieder findet man Magic Numbers in Projekten, jedoch sollten diese vermieden werden. Wenn wir uns die Property AccountBalance anschauen wird der Fehler sehr schnell klar, weiterhin erschweren Magic Numbers die Lesbarkeit und Warbarkeit.

Mit ein paar einfachen Schritten können wir die Magic Numbers entfernen und durch ein Nullable ersetzen.

Definition Nullable Value Types

Nullable types are isntances of the System.Nullable struct. A nullable type can represent a corret range of values for its underlying value type, plus an additional null value

Durch Nullable Values Types kann zum Beispiel eine Instanz von bool folgende Werte annehmen

  • True
  • False
  • null

Refactoring

Der Default Value von Nullable ist null, eine explizite Zuweisung mit null ist daher nicht nötig. Die syntax T? ist die Kurzschreibweise für Nullable, wobei T ein value type ist. Die beiden Formen sind austauschbar.