Перевод анонимных методов в лямбда-выражения
Если бы я перевел этот анонимный метод:
Func<int, int> f = delegate(int i)
{
return i + 1;
};
в лямбда-выражение, это будет выглядеть так:
Func<int, int> f = i => i + 1;
(Я знаю: это лямбда-выражение будет тайно генерировать другой анонимный метод (компилятором), но это не главное).
Теперь я хочу перевести следующий метод в лямбда-выражение:
Func<int, int> f = delegate(int i)
{
Debug.WriteLine("Inside the function!");
return i + 1;
};
Есть ли способ и как мне это сделать?
1 ответ
Решение
Лямбда может содержать более одной строки, синтаксис в этом случае аналогичен анонимным делегатам из C# 2.0:
Func<int, int> f = i =>
{
Debug.WriteLine("Inside the function!");
return i + 1;
};