Sobes.tech
Junior

Qual é a diferença entre os delegados Action e Func em C#?

sobes.tech IA

Resposta da IA

A principal diferença entre Action e Func está no valor de retorno:

  • Action: Delegado que aceita de 0 a 16 parâmetros, mas não retorna nenhum valor (retorna void).
  • Func: Delegado que aceita de 0 a 16 parâmetros de entrada e retorna um valor do tipo especificado. O tipo de valor retornado é indicado no último parâmetro <TResult>.

Exemplos:

// Exemplo de uso de Action
Action<string> printMessage = (message) =>
{
    Console.WriteLine(message);
};
printMessage("Olá, mundo!");
// Exemplo de uso de Func
Func<int, int, int> sum = (a, b) => a + b;
int result = sum(5, 3); // resultará em 8
Console.WriteLine($"Soma: {result}");