O'Reilly logo

C# 5.0. Leksykon kieszonkowy. Wydanie III by 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

Wyrażenia lambda

Wyrażenie lambda (ang. lambda expression) to nienazwana metoda, której kod występuje w miejscu instancji delegatu. Kompilator natychmiast skonwertuje wyrażenie lambda na dwie poniższe konstrukcje:

  • instancję delegatu;

  • drzewo wyrażenia, typu Expression<TDelegate>, przedstawiające kod ujęty w wyrażeniu lambda jako dający się przeglądać, hierarchiczny model obiektowy. Dzięki temu wyrażenia lambda mogą być potem interpretowane w czasie wykonania programu (proces ten został opisany w rozdziale 8. książki C# 5.0 in a Nutshell).

Jeśli mamy dany następujący typ delegatu:

delegate int Transformer (int i);

to możemy do niego przypisać wyrażenie lambda x => x * x i je wywołać; odbywa się to następująco:

Transformer sqr = x => x * x; Console.WriteLine ...

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