Uma coleção genérica é uma classe que fornece segurança de tipo sem precisar derivar de um tipo de coleção base e implementar membros específicos do tipo. Uma coleção não genérica é uma classe especializada para armazenamento e recuperação de dados que fornece suporte para pilhas, filas, listas e hashtables. o diferença chave entre Coleção Genérica e Não Genérica em C # é que uma coleção genérica é fortemente tipada enquanto uma coleção não genérica não é fortemente tipada.
1. Visão geral e principais diferenças
2. O que é coleção genérica em c #
3. O que é coleção não genérica em c #
4. Semelhanças entre coleção genérica e não genérica em c #
5. Comparação lado a lado - coleção genérica versus não genérica em C # na forma de tabela
6. Resumo
As coleções não genéricas, como ArrayList, Fila, Pilha, etc. podem armazenar elementos de diferentes tipos de dados. Ao obter os itens, o programador deve digitá-los no tipo de dados correto. Senão, pode causar uma exceção de tempo de execução. As classes de coleção genérica podem ser usadas para superar esse problema. Coleções genéricas armazenam elementos internamente em matrizes de seus tipos reais. Portanto, a conversão de tipo não é necessária. Eles podem ser usados para armazenar elementos do tipo ou tipos especificados. Algumas classes de coleção genérica são List, Dictionary, SortedList, HashSet, Queue, Stack .
O GenericList contém elementos do tipo especificado. Pode aumentar a lista adequadamente ao adicionar elementos. Quando houver uma instrução a seguir, todos os elementos que podem ser armazenados na lista1 devem ser números inteiros,
Lista list1 - nova List ();
O Dicionário Genérico em C # é uma coleção de chaves e valores. Quando há uma declaração da seguinte forma, o objeto dictionary1 pode armazenar chaves de tipo int e valores de tipo de string.
Dicionário dictionary1 = new Dictionary ();
Uma coleção SortedList genérica armazena pares de chave e valor em ordem crescente de chave por padrão. O exemplo abaixo armazena a chave do tipo int e o valor do tipo string.
SortedList s0 = new SortedList ();
Esses são alguns exemplos de coleção genérica em c #. Essas coleções podem armazenar vários valores dos tipos de dados especificados. Então, eles são fortemente tipados.
Matrizes podem ser usadas para armazenar vários elementos. Uma desvantagem é que ele pode armazenar elementos do mesmo tipo de dados. Existem classes em C # que podem ser usadas para armazenar muitos valores ou objetos conhecidos como coleções. As coleções ajudam a armazenar, atualizar, excluir, pesquisar e classificar objetos. O tamanho da coleção pode ser aumentado ou diminuído dinamicamente.
Algumas classes de coleção não genérica são ArrayList, SortedList, Stack, Queue e HashTable. Cada classe de coleção implementa a interface IEnumerable. Ajuda a percorrer os elementos dos itens da coleção usando o loop foreach.
ArrayList é uma alternativa a uma matriz. Se houver uma matriz que possa armazenar 10 elementos, ela não poderá armazenar 20 elementos. Se a matriz inicializou em 10 elementos, mas armazena apenas 5 elementos, o restante não será usado. Portanto, uma matriz é fixa. Em um ArrayList, é possível adicionar ou remover elementos, dependendo do índice. Permite alocação dinâmica de memória. O método de classificação pode ser usado para classificar os elementos em ordem crescente.
O HashTable é usado para representar uma coleção de pares de valores-chave. Eles são organizados com base no hashCode da chave. Portanto, todo elemento tem um par de valores-chave. A chave pode ser usada para acessar um elemento específico da coleção. A pilha representa o último acesso, primeiro a sair, aos itens. A Fila é usada para o acesso primeiro a entrar, primeiro a sair dos itens. Essas são algumas das coleções não genéricas suportadas pelo C #. Essas coleções podem armazenar elementos de diferentes tipos.
Coleção genérica vs não genérica em c # | |
Uma coleção genérica é uma classe que fornece segurança de tipo sem precisar derivar de um tipo de coleção base e implementar membros específicos de tipo. | Uma coleção não genérica é uma classe especializada para armazenamento e recuperação de dados que fornece suporte para pilhas, filas, listas e tabelas de hash. |
Namespace | |
As classes de coleção genérica estão no sistema. Coleções. Namespace genéricos. | As classes de coleção não genérica estão no sistema. Namespace de coleções. |
Tipo | |
Uma coleção genérica é fortemente tipada. | Uma coleção não genérica não é fortemente tipada. |
Armazenando elementos | |
As coleções genéricas armazenam elementos internamente em matrizes de seus tipos reais. | As coleções não genéricas armazenam elementos internamente em matrizes de objetos, para que possam armazenar qualquer tipo de dados. |
Este artigo discutiu a diferença entre coleção genérica e não genérica em c #. A diferença entre coleção genérica e não genérica é que uma coleção genérica é fortemente tipada enquanto uma coleção não genérica não é fortemente tipada.
1. "Quando usar coleções genéricas". Documentos da Microsoft. Disponivel aqui
2. "Coleção genérica em C #". TutorialsTeacher.com. Disponivel aqui
3. "Coleção C #:" Coleção em C #, TutorialsTeacher.com. Disponivel aqui
4. “C # Collections.”, Tutorials Point, 19 de março de 2018. Disponível aqui
1.'Logo C Sharp'By Microsoft, (Domínio Público) via Commons Wikimedia