Sobes.tech
Junior — Middle

Quais características distinguem os delegados padrão no .NET e em que se diferenciam de outros tipos de delegados?

sobes.tech IA

Resposta da IA

Em .NET, os delegados padrão são tipos predefinidos de delegados genéricos, como Action, Func e Predicate.

  • Action representa um método que não devolve valor e pode aceitar de 0 a 16 parâmetros.
  • Func representa um método que devolve um valor e pode aceitar de 0 a 16 parâmetros (o último parâmetro é o tipo do valor devolvido).
  • Predicate é um delegado que aceita um parâmetro e devolve um bool, geralmente usado para condições.

Diferenças em relação a delegados personalizados:

  • Os delegados padrão já estão definidos no .NET Framework, não é necessário declará-los manualmente.
  • São genéricos, permitindo usá-los com diferentes tipos sem criar novos delegados.
  • Simplificam o código e aumentam a legibilidade.

Exemplo de uso do delegado padrão Func:

Func<int, int, int> add = (x, y) => x + y;
int result = add(3, 4); // result = 7

Assim, os delegados padrão proporcionam uma forma conveniente e universal de trabalhar com métodos como objetos.