Diferença Entre Coleção Genérica E Não Genérica Em C

Índice:

Diferença Entre Coleção Genérica E Não Genérica Em C
Diferença Entre Coleção Genérica E Não Genérica Em C

Vídeo: Diferença Entre Coleção Genérica E Não Genérica Em C

Vídeo: Diferença Entre Coleção Genérica E Não Genérica Em C
Vídeo: C# em 5 minutos - Generic Types 2024, Novembro
Anonim

Diferença chave - coleção genérica vs. coleção 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 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. A principal diferença entre uma coleção genérica e uma coleção 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.

CONTEÚDO

1. Visão geral e diferença principal

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 x coleção não genérica em C # na forma tabular

6. Resumo

O que é coleção genérica em C #?

As coleções não genéricas, como ArrayList, Queue, Stack, etc. podem armazenar elementos de diferentes tipos de dados. Ao obter os itens, o programador deve digitar convertê-los no tipo de dados correto. Caso contrário, pode causar uma exceção de tempo de execução. As classes de coleção genéricas podem ser usadas para superar esse problema. Coleções genéricas armazenam elementos internamente em arrays 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.

Diferença entre coleção genérica e não genérica em C #
Diferença entre coleção genérica e não genérica em C #

O GenericList contém elementos do tipo especificado. Ele pode aumentar a lista de acordo ao adicionar elementos. Quando há uma declaração como a seguir, todos os elementos que podem ser armazenados na lista1 devem ser inteiros, Lista lista1 - nova lista ();

O dicionário genérico em C # é uma coleção de chaves e valores. Quando há uma instrução como a seguir, o dicionário de objeto1 pode armazenar chaves de tipo int e valores de tipo de string.

Dicionário dicionário1 = novo Dicionário ();

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 = novo 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. Portanto, eles são fortemente tipados.

O que é coleção não genérica em C #?

Os arrays podem ser usados 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, classificar objetos. O tamanho da coleção pode ser aumentado ou diminuído dinamicamente.

Algumas classes de coleção não genéricas são ArrayList, SortedList, Stack, Queue e HashTable. Cada classe de coleção implementa a interface IEnumerable. Isso ajuda a iterar os elementos dos itens na coleção usando o loop foreach.

ArrayList é uma alternativa a um array. Se houver uma matriz que pode armazenar 10 elementos, ela não pode armazenar 20 elementos. Se a matriz foi inicializada com 10 elementos, mas armazena apenas 5 elementos, o resto não é usado. Portanto, uma matriz é fixa. Em um ArrayList, é possível adicionar ou remover elementos dependendo do índice. Ele permite a alocação de memória dinâmica. 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, cada 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 aos itens, o primeiro a sair. A fila é usada para o 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.

Qual é a semelhança entre coleções genéricas e não genéricas em C #?

Tanto a coleção genérica quanto a não genérica podem ser usadas para armazenar vários elementos em C #

Qual é a diferença entre coleção genérica e não genérica em C #?

Artigo Diff meio antes da tabela

Coleção genérica vs coleção 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 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 tabelas de hash.
Namespace
As classes de coleção genérica estão no sistema. Coleções. Namespace genérico. As classes de coleções não genéricas 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.
Armazenamento de elementos
As coleções genéricas armazenam elementos internamente em arrays 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.

Resumo - coleção genérica versus coleção não genérica em C #

Este artigo discutiu a diferença entre a coleção genérica e não genérica em C #. A diferença entre uma coleção genérica e uma coleção não genérica é que uma coleção genérica é fortemente tipada, enquanto uma coleção não genérica não é fortemente tipada.

Recomendado: