mirror of
https://github.com/JG2401/CsharpVersionHistory.git
synced 2026-08-28 20:20:10 +00:00
1.3 KiB
1.3 KiB
C# Version 4.0
C# 4.0 wurde mit Visual Studio 2010 veröffentlicht und brachte folgende Neuerungen:
Dynamische Bindung (dynamic)
Das dynamic-Schlüsselwort erlaubt es, den Typ einer Variable erst zur Laufzeit festzulegen. Dies ähnelt dynamisch typisierten Sprachen wie JavaScript.
dynamic x = "Hallo";
Console.WriteLine(x.Length); // Funktioniert, da x zur Laufzeit ein string ist
Benannte und optionale Argumente
Methodenparameter können beim Aufruf benannt und/oder weggelassen werden. Das vereinfacht Methodenüberladungen und erhöht die Flexibilität.
void Print(string text, int times = 1)
{
for (int i = 0; i < times; i++)
Console.WriteLine(text);
}
Print("Hi", times: 3); // Benannter Parameter
Print("Hallo"); // Optionaler Parameter
Generische Kovarianz und Kontravarianz
Erlaubt mehr Flexibilität beim Arbeiten mit Generics, besonders für Framework- und Bibliotheksautoren.
IEnumerable<string> strings = new List<string>();
IEnumerable<object> objects = strings; // Kovarianz
Eingebettete Interop-Typen
Vereinfacht die Bereitstellung von COM-Interopassemblys durch das Einbetten der benötigten Typen direkt in die Anwendung.
Das wichtigste Feature war die Einführung von dynamic, das mächtige, aber auch fehleranfällige Konstrukte ermöglicht.