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

Типы Func и Action в C#

В предыдущих уроках уже встречались Func для лямбд с результатом и Action для блоков без возвращаемого значения. Ниже - та же схема типов в общем виде.

Func<TResult> описывает лямбду без аргументов, которая возвращает TResult. Func<T, TResult> принимает один аргумент типа T и возвращает TResult. Для двух аргументов используют Func<T1, T2, TResult>, и так далее. Пример для Func:

Func<int> pick = () => 42; Func<int, int> inc = (int n) => n + 1; Console.WriteLine(pick()); Console.WriteLine(inc(4));

У Action та же схема имён, но без типа результата: в угловых скобках перечисляют только параметры - Action, Action<T>, Action<T1, T2> и дальше по числу аргументов:

Action ping = () => Console.WriteLine("ping"); Action<string> echo = (string s) => Console.WriteLine(s); Action<int, int> pair = (int a, int b) => Console.WriteLine(a + b); ping(); echo("ok"); pair(2, 3);

Объявите Func<string, bool> notEmpty, которая возвращает true, если длина строки больше нуля. Выведите результат для "a" и "".

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