Sobes.tech
Junior — Middle

Pouvez-vous expliquer les différences entre les délégués Action et Func en C#?

sobes.tech IA

Réponse de l'IA

В 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, если нужно вернуть результат.