Junior — Middle
Čím se liší delegáti typu Action od delegátů typu Func z hlediska jejich použití a určení?
sobes.tech AI
Odpověď od AI
Делегаты типа Action и Func в C# отличаются по назначению и возвращаемому значению:
-
Action — это делегат, который представляет метод, не возвращающий значение (void). Он может принимать от 0 до 16 параметров, но всегда возвращает void.
-
Func — это делегат, который представляет метод, возвращающий значение. Он может принимать от 0 до 16 параметров, где последний параметр — это тип возвращаемого значения.
Пример:
Action<string> print = message => Console.WriteLine(message);
print("Hello, Action!"); // выводит сообщение, ничего не возвращает
Func<int, int, int> add = (a, b) => a + b;
int result = add(3, 4); // возвращает 7
Таким образом, используйте Action, когда метод ничего не возвращает, и Func, когда нужно вернуть результат.