Looking for c# Keywords? Try Ask4Keywords

C# Language Лямбда и анонимные методы


пример

Анонимный метод может быть назначен везде, где ожидается делегат:

Func<int, int> square = delegate (int x) { return x * x; }

Лямбда-выражения могут использоваться для выражения того же:

Func<int, int> square = x => x * x;

В любом случае мы теперь можем вызвать метод, хранящийся внутри square следующим образом:

var sq = square.Invoke(2);

Или как сокращение:

var sq = square(2);

Обратите внимание, что для присвоения типа безопасным типа типы параметров и тип возврата анонимного метода должны соответствовать типу типа делегата:

Func<int, int> sum = delegate (int x, int y) { return x + y; } // error
Func<int, int> sum = (x, y) => x + y; // error