mirror of
https://github.com/JG2401/CsharpVersionHistory.git
synced 2026-08-28 20:20:10 +00:00
C# Version 7.0
Veröffentlicht im März 2017 mit Visual Studio 2017.
Neue Features
Out-Variablen
Direkte Deklaration von Variablen im out-Parameter.
if (int.TryParse("123", out int zahl))
{
Console.WriteLine(zahl);
}
Tupel und Dekonstruktionen
Mehrere Werte einfach zurückgeben und zerlegen.
(string Name, int Alter) GetPerson() => ("Jonas", 30);
var (name, alter) = GetPerson();
Mustervergleich
Vergleiche mit Mustern für mehr Lesbarkeit.
if (obj is string s)
{
Console.WriteLine($"String: {s}");
}
Lokale Funktionen
Funktionen innerhalb von Methoden definieren.
void Hauptfunktion()
{
int Addiere(int a, int b) => a + b;
Console.WriteLine(Addiere(2, 3));
}
Erweiterte Ausdruckskörpermember
Mehr Möglichkeiten für kurze Methoden und Eigenschaften.
public int Quadrat(int x) => x * x;
Lokale ref-Variablen und Ref-Rückgaben
Direkter Zugriff und Rückgabe von Referenzen.
ref int Suche(int[] arr, int wert)
{
for (int i = 0; i < arr.Length; i++)
if (arr[i] == wert) return ref arr[i];
throw new Exception("Nicht gefunden");
}
Weitere Features
- Verwerfen mit
_ - Binäre Literale (
0b1010) und Zahlentrennzeichen (1_000_000) - Throw-Ausdrücke (
throw new Exception()direkt in Ausdrücken)
Diese Features machen den Code noch kompakter und lesbarer. .NET Core unterstützt nun alle Betriebssysteme und fokussiert sich auf Cloud und Portabilität.