Неявный результат лямбды в C#
Если после => стоит одно выражение,
без фигурных скобок, это тело-выражение.
Результат вычисления выражения автоматически
становится результатом вызова лямбды.
Писать return здесь не нужно:
Func<int, int> twice = (int x) => x * 2;
int result = twice(9);
Console.WriteLine(result);
Тип результата задает Func: последний
типовой параметр должен совпадать с тем,
что дает выражение. Лямбда может возвращать
bool, строку или число - достаточно
выражения нужного типа после стрелки:
Func<int, bool> isEven = (int n) => n % 2 == 0;
Console.WriteLine(isEven(4));
Console.WriteLine(isEven(5));
Создайте лямбду absDiff типа
Func<int, int, int> с телом-выражением,
которое возвращает модуль разности двух целых.
Выведите результат для 3 и 10.
Создайте лямбду startsWithA типа
Func<string, bool> с телом-выражением:
true, если строка начинается с "a".
Выведите результаты для "apple" и
"banana".