Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmLmBB 332 of 436 menu
◀ ▶

Блочное тело лямбды в 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.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить