O'Reilly logo

C# 5.0 kurz & gut by Lars Schulten, Ben Albahari, Joseph Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Lambda-Ausdrücke

Ein Lambda-Ausdruck ist eine Methode ohne Namen, die anstelle einer Delegate-Instanz geschrieben wird. Der Compiler wandelt den Lambda-Ausdruck direkt um, und zwar

  • 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 diesen Vorgang in Kapitel 8 von C# 5.0 in a Nutshell).

Wenn wir den Delegate-Typ

delegate int Transformer (int i);

haben, können wir den Lambda-Ausdruck x => x * x wie folgt zuweisen und ausführen:

Transformer sqr = x => x * x;
Console.WriteLine (sqr(3));    // 9

Anmerkung

Intern löst der Compiler Lambda-Ausdrücke dieses Typs ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required