Back to questions
Junior — Middle
73
Можете объяснить различия между делегатами Action и Func в языке C#?
Answer from AI
sobes.tech AI
В C# делегаты Action и Func используются для представления методов, но отличаются по возвращаемому типу:
- Action — делегат, который не возвращает значение (void). Может принимать от 0 до 16 параметров.
- Func — делегат, который возвращает значение. Последний параметр всегда тип возвращаемого значения, а все предыдущие — параметры метода.
Примеры:
Action<string> print = s => Console.WriteLine(s);
print("Hello"); // выводит Hello
Func<int, int, int> add = (a, b) => a + b;
int result = add(3, 4); // result = 7
Таким образом, выбирайте Action, если метод ничего не возвращает, и Func, если нужно вернуть результат.