Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 17614|Resposta: 1

[Comunicação] Exemplos genéricos em C# são explicados em detalhes

[Copiar link]
Publicado em 28/01/2019 16:03:40 | | | |
1. O que é genérico?

Genéricos são novas sintaxes introduzidas em C# 2.0, não açúcar sintaxe, mas recursos fornecidos pelas atualizações do framework na 2.0.

Quando programamos programas, frequentemente encontramos módulos com funções muito semelhantes, mas que lidam com dados diferentes. Mas não temos escolha a não ser escrever múltiplos métodos separadamente para lidar com diferentes tipos de dados. Neste momento, a questão é: existe uma forma de usar o mesmo método para lidar com diferentes tipos de parâmetros? O surgimento dos genéricos foi especificamente projetado para resolver esse problema.

2. Por que usar genéricos

Vamos dar uma olhada no seguinte exemplo:
Resultado:

Pelos resultados acima, podemos ver que esses três métodos têm as mesmas funções, exceto pelos diferentes parâmetros que eles mantêm. Na época da versão 1.0, não existia o conceito de genéricos, então o que fazer. Acredito que muitas pessoas pensarão na herança de uma das três principais características da POO, sabemos que em C#, objeto é a classe base de todos os tipos, e o código acima é otimizado da seguinte forma:
Resultado:

A partir dos resultados acima, podemos ver que usar o tipo Object atende aos nossos requisitos e resolve a reutilizabilidade do código. Algumas pessoas podem perguntar por que é possível passar int, string, etc., quando está definido como um tipo de objeto? Existem dois motivos:

1. O tipo de objeto é a classe pai de todos os tipos.

2. Por meio da herança, as subclasses possuem todos os atributos e comportamentos da classe pai, e onde quer que a classe mãe apareça, ela pode ser substituída por subclasses.

Mas o método do tipo de objeto acima traz outro problema: boxing e unboxing podem reduzir o desempenho do programa.

A Microsoft introduziu genéricos no C# 2.0, que podem resolver muito bem os problemas acima.

3. Parâmetros genéricos de tipo

Em uma definição genérica de tipo ou método, um parâmetro de tipo é um marcador especificado pelo cliente para um tipo específico quando ele instancia uma variável do tipo genérico. A classe genérica (GenericList<T>) não pode ser usada como está porque não é um tipo verdadeiro; É mais como um projeto para tipos. Para usar o <T>GenericList, o código cliente deve declarar e instanciar um tipo de construto especificando o parâmetro de tipo dentro de colchetes angulares. O argumento de tipo para essa classe específica pode ser qualquer tipo que o compilador reconheça. Você pode criar qualquer número de instâncias do tipo construto, cada uma com um parâmetro de tipo diferente.

O código no exemplo acima pode ser modificado da seguinte forma:
Chamada:
Mostrar resultados:






Anterior:Provedores de Arquivos .NET Core
Próximo:Consulta de nome de banco de dados, nome de tabela e nome de campo MySQL
Publicado em 29/01/2019 04:08:13 |
Muito bom, meticuloso, e as coisas básicas deveriam ser revisadas mais
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com