Pesquisar aqui

sexta-feira, 26 de março de 2021

[IDS] C#.NET: Tipos genéricos

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.