Sobes.tech
Junior — Middle

Pode explicar as diferenças entre os delegados Action e Func na linguagem C#?

sobes.tech IA

Resposta da IA

Em C#, os delegados Action e Func são usados para representar métodos, mas diferem pelo tipo de retorno:

  • Action — delegado que não retorna valor (void). Pode aceitar de 0 a 16 parâmetros.
  • Func — delegado que retorna um valor. O último parâmetro é sempre o tipo de valor de retorno, e todos os anteriores são parâmetros do método.

Exemplos:

Action<string> print = s => Console.WriteLine(s);
print("Hello"); // exibe Hello

Func<int, int, int> add = (a, b) => a + b;
int result = add(3, 4); // resultado = 7

Portanto, escolha Action se o método não retornar nada, e Func se precisar retornar um resultado.