C# 8.0: Änderungen bei Schnittstellen und Compiler

Eine wichtige Neuerung in C# 8 ist das Warnen vor Null-Referenz-Fehlern. Darüber hinaus bietet die neue Sprachversion einige syntaktische Verbesserungen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
C# 8.0: Änderungen bei Schnittstellen und Compiler
Lesezeit: 10 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

C# 8.0 erschien zusammen mit .NET Core 3.0. In Xamarin ist C# ebenfalls einsetzbar. Die meisten neuen Sprachfeatures sind auch im klassischen .NET Framework verfügbar. C# 8.0 benötigt als Entwicklungsumgebung Visual Studio 2019 oder eine aktuelle Version von Visual Studio Code.

C# ist konsequent objektorientiert, das heißt, alle Informationen, auch elementare Datentypen wie Zahlen, Zeichenketten sowie die Werte true und false, sind Objekte, die wiederum Instanzen von .NET-Klassen sind. Intern unterscheidet C# schon immer zwischen Wert- und Referenztypen. In C# 1.0 konnten jedoch nur Referenztypen (Datentyp string und eigene Klassen) den Wert null annehmen. Erst seit C# 2.0 gilt das auch für Werttypen.

Das Erlauben von null erweitert die Ausdrucksfähigkeit eines Typs, weil es damit jetzt eine Repräsentation des Zustandes "kein Wert vorhanden" gibt. Allerdings verursachen Nullwerte in der Praxis Schwierigkeiten, denn der Aufruf eines Attributs oder einer Methode auf einem Objektverweis, der null enthält, löst einen Null-Reference-Laufzeitfehler aus.