Files
CsharpVersionHistory/Version4.0
2025-09-28 17:52:30 +02:00
..
2025-09-28 17:52:30 +02:00

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.