May 2008
Intermediate to advanced
248 pages
3h 50m
German
Ein Lambda-Ausdruck ist eine Methode ohne Namen, die anstelle einer Delegate-Instanz geschrieben wird. Der Compiler wandelt den Lambda-Ausdruck direkt um:
in eine Delegate-Instanz oder
in einen Expression Tree vom Typ Expression<TDelegate>, der den Code im Lambda-Ausdruck in einem traversierbaren Objektmodell repräsentiert. Damit können Lambda-Ausdrücke zur Laufzeit interpretiert werden (wir beschreiben den Prozess in Kapitel 8 von C# 3.0 in a Nutshell).
Wenn wir folgenden Delegate-Typ haben:
delegate int Transformer (int i);
können wir den Lambda-Ausdruck x => x * x wie folgt zuweisen und ausführen:
Transformer sqr = x => x * x;
Console.WriteLine (sqr(3)); // 9Intern löst der Compiler Lambda-Ausdrücke dieses Typs ...