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.