* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Лямбда-выражения
6 февраля 2009
Используя лямбда-выражения, ты можешь кратко определять функциональные объекты для дальнейшего использования в любое время. Раньше C# использовал с этой целью делегаты и анонимные методы, но в C#3 им на смену из ФП пришли лямбда-выражения. Кроме того лямбда-выражения можно использовать для определения функционалов, т.е. функций от функций. Лямбда-выражения в C#3 можно записывать двумя способами. Первый способ, представляет собой блок кода, заключенный в фигурные скобки и заканчивающийся оператором return: 0: Func<int, long> Sqr = x => { return x * x; };
Второй способ ещё короче и не требуют ни кода в фигурных скобках, ни оператора return: 0: Func<int, long> Sqr = x => x * x;
Теперь ты можешь использовать Sqr как обычную локальную функцию, но не только... Тип Func<> – это новый вспомогательный обобщенный тип из пространства имен System, который ты можешь использовать для объявления простых лямбда-выражений, принимающих до четырех аргументов и возвращающих результат.