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.
- Dr. Holger Schwichtenberg
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.