Tipos de Coleção Comumente Usadas
Tipos de coleção são as variações comuns de coleções de dados, como tabelas de hash, filas, pilhas, dicionários e listas.
Coleções são baseadas na interface ICollection, na interface IList, na interface IDictionary ou suas contrapartes genéricos.A interface IList e a interface IDictionary ambas derivam da interface ICollection; portanto, todas as coleções se baseiam na interface ICollection direta ou indiretamente.Em coleções com base na interface IList (como Array, ArrayList, ou List<T>) ou diretamente na interface ICollection (como Queue, Stack, ou LinkedList<T>) , cada elemento contém apenas um valor.Em coleções com base na interface IDictionary (como as classes Hashtable e SortedList, ou as classes genéricas Dictionary<TKey, TValue> e SortedList<TKey, TValue>), cada elemento contém tanto uma chave quanto um valor.A classe KeyedCollection<TKey, TItem> é exclusiva porque é uma lista de valores com chaves incorporadas aos valores e, portanto, ela se comporta como uma lista e como um dicionário.
Coleções genéricas são a melhor solução para rigidez de tipos.No entanto, se a sua linguagem não suportar os genéricos, o namespace System.Collections inclui coleções base, como CollectionBase, ReadOnlyCollectionBase, e DictionaryBase, que são classes base abstratas que podem ser estendidas para criar classes de coleção com rigidez de tipos.
Coleções podem variar, dependendo como os elementos são armazenados, como são classificados, como as pesquisas são executadas, e como as comparações são feitas.A classe Queue e a classe genérica Queue<T> fornecem listas de primeiro a entrar, primeiro a sair, enquanto a classe Stack e a classe genérica Stack<T> fornecem listas de último a entrar, primeiro a sair..A classe SortedList e a classe genérica SortedList<TKey, TValue> fornecem versões classificadas da classe Hashtable e da classe genérica Dictionary<TKey, TValue>.Os elementos de um Hashtable ou um Dictionary<TKey, TValue> são acessíveis somente pela chave do elemento, mas os elementos de um SortedList ou um KeyedCollection<TKey, TItem> são acessíveis tanto pela chave quanto pelo índice do elemento.Os índices em todas as coleções são de base zero, exceto Array, que permite matrizes que não são de base zero.
O recurso LINQ para Objetos permite aos desenvolvedores usar consultas LINQ para acessar objetos na memória, desde que o tipo de objeto implemente IEnumerable ou IEnumerable<T>.Consultas LINQ fornecem um padrão comum para acessar dados, são geralmente mais concisas e legíveis que loops foreach padrão e fornecem recursos de filtragem, classificação e agrupamento.Consultas LINQ também podem melhorar o desempenho.Para obter mais informações, consulte LINQ para Objetos.
Nesta seção
Tipo de Coleção Array
Descreve os recursos de matrizes que permitem que elas sejam tratadas como coleções.Coleções do Tipo ArrayList e List
Descreve os recursos das listas genéricas e não genéricas, os tipos de coleção mais comumente usadas.Tipos de Coleção Tabela de Hash e Dicionário
Descreve os recursos dos tipos de dicionário baseados em hash genéricos e não genéricos.Tipos de Coleção SortedList e SortedDictionary
Descreve o dicionário classificado e os tipos híbridos que combinam a funcionalidade de lista e dicionário.Tipos de Coleção Fila
Descreve os recursos das filas genéricas e não genéricas.Tipos de Coleção Pilha
Descreve os recursos das pilhas genéricas e não genéricas.Coleção do Tipo HashSet
Descreve o tipo de coleção HashSet<T> genérica.Operações de Conjuntos HashSet e LINQ
Descreve operações de conjunto fornecidas pelo tipo de coleção HashSet<T> e operações de Definição LINQ.
Referência
System.Collections
Fornece documentação de referência para o namespace System.Collections, que contém interfaces e classes que definem várias coleções de objetos.System.Collections.Generic
Fornece documentação de referência para o namespace System.Collections.Generic, que contém interfaces e classes que definem coleções genéricas.System.Collections.ICollection
Descreve os principais recursos da classe ICollection, que define tamanho, enumeradores e métodos de sincronização para todas as coleções não genéricas.System.Collections.Generic.ICollection<T>
Descreve os principais recursos da classe ICollection<T>, que define métodos para manipular coleções genéricas.System.Collections.IList
Descreve os principais recursos da classe IList, que representa uma coleção não genérica de objetos que podem ser acessados individualmente pelo índice.System.Collections.Generic.IList<T>
Descreve os principais recursos da classe IList<T>, que representa uma coleção de objetos que podem ser acessados individualmente pelo índice.System.Collections.IDictionary
Descreve os principais recursos da classe IDictionary, que representa uma coleção não genérica de pares chave/valor.System.Collections.Generic.IDictionary<TKey, TValue>
Descreve os principais recursos da classe IDictionary<TKey, TValue>, que representa uma coleção genérica de pares chave/valor.
Seções relacionadas
Coleções e Estruturas de Dados
Discute os diversos tipos de coleção disponíveis no .NET Framework, inclusive pilhas, filas, listas, matrizes e estruturas.Classes genéricas no .NET Framework
Descreve o recurso de classes ou métodos genéricos, incluindo coleções, representantes e interfaces genéricas fornecidas pelo .NET Framework.Fornece links para a documentação dos recursos para C#, Visual Basic, Visual C++ e tecnologias auxiliares como a reflexão.