Назад к вопросам
Junior
630
questionbank

В чем заключается разница между делегатами Action и Func в C#?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Основное отличие Action и Func заключается в возвращаемом значении:

  • Action: Делегат, который принимает от 0 до 16 параметров, но не возвращает никакого значения (возвращает void).
  • Func: Делегат, который принимает от 0 до 16 входных параметров и возвращает значение указанного типа. Тип возвращаемого значения указывается в последнем параметре <TResult>.

Примеры:

// Пример использования Action
Action<string> printMessage = (message) =>
{
    Console.WriteLine(message);
};
printMessage("Привет, мир!");
// Пример использования Func
Func<int, int, int> sum = (a, b) => a + b;
int result = sum(5, 3); // result будет 8
Console.WriteLine($"Сумма: {result}");