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.

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

image

Intern löst der Compiler ...

Get C# 7.0 – kurz & gut, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.