Блочное тело лямбды в C#
Если после => нужны несколько команд,
тело берут в фигурные скобки. Это уже не
тело-выражение: результат наружу отдают
явно через return. Запись
=> expression без скобок по-прежнему
возвращает выражение неявно; блочное тело
берут, когда шагов больше одного:
Func<int, int> clamp = (int n) => {
int limit = 100;
if (n > limit) {
return limit;
}
return n;
};
Console.WriteLine(clamp(150));
В блоке можно завести локальные переменные,
поставить условие и только потом вернуть
итог одной строкой return value;:
Func<int, int> step = (int n) => {
int tmp = n + 1;
return tmp * 2;
};
Console.WriteLine(step(3));
Создайте лямбду maxOf типа
Func<int, int, int> с блочным телом,
которая через return отдает большее
из двух чисел. Выведите результат для
4 и 9.