Introduzidos pela primeira vez no .NET Framework 2.0, os genéricos são essencialmente um "modelo de código" que permite aos desenvolvedores definir estruturas de dados fortemente tipadas sem se comprometer com um tipo de dados real. Por exemplo, List<T> é uma coleção genérica que pode ser declarada e usada com qualquer tipo, como List<int> , List<string> ou List<Person> .
Para entender por que os genéricos são úteis, vamos dar uma olhada em uma classe específica antes e depois adicionar os genéricos: ArrayList. No .NET Framework 1.0, os elementos ArrayList eram do tipo Object. Qualquer elemento adicionado à coleção foi convertido silenciosamente em um Object . O mesmo ocorreria ao ler elementos da lista. Esse processo é conhecido como conversão boxing e unboxing e afeta o desempenho.
Além do desempenho, no entanto, não há como determinar o tipo de dados na lista em tempo de compilação, o que torna o código frágil.
Genéricos resolvem esse problema definindo o tipo de dados que cada instância de lista conterá. Resumindo, você só pode adicionar inteiros a List<int> e só pode adicionar Pessoas a List<Person>.
Os genéricos também estão disponíveis em tempo de execução. O tempo de execução sabe que tipo de estrutura de dados você está usando e pode armazená-la na memória com mais eficiência.
fonte: https://docs.microsoft.com/pt-br/dotnet/standard/generics
Sem comentários:
Enviar um comentário
Comente de forma construtiva...
Nota: só um membro deste blogue pode publicar um comentário.