System.Collections.Generic Namespace

Contém interfaces e classes que definem coleções genéricas, que permitem aos usuários criar coleções fortemente tipadas que oferecem melhor desempenho e segurança de tipos do que coleções fortemente tipadas não genéricas.

Classes

CollectionExtensions

Fornece métodos de extensão para coleções genéricas.

Comparer<T>

Fornece uma classe base para implementações da interface genérica IComparer<T>.

Dictionary<TKey,TValue>.KeyCollection

Representa a coleção de chaves em um Dictionary<TKey,TValue>. Essa classe não pode ser herdada.

Dictionary<TKey,TValue>.ValueCollection

Representa a coleção de valores em um Dictionary<TKey,TValue>. Essa classe não pode ser herdada.

Dictionary<TKey,TValue>

Representa uma coleção de chaves e valores.

EqualityComparer<T>

Fornece uma classe base para implementações da interface genérica IEqualityComparer<T>.

HashSet<T>

Representa um conjunto de valores.

KeyedByTypeCollection<TItem>

Fornece uma coleção cujos itens são tipos que funcionam como chaves.

KeyNotFoundException

A exceção que é gerada quando a chave para acessar um elemento em uma coleção especificada não corresponde a nenhuma chave da coleção.

KeyValuePair

Cria instâncias do struct KeyValuePair<TKey,TValue>.

LinkedList<T>

Representa uma lista duplamente vinculada.

LinkedListNode<T>

Representa um nó em um LinkedList<T>. Essa classe não pode ser herdada.

List<T>

Representa uma lista fortemente tipada de objetos que podem ser acessados por índice. Fornece métodos para pesquisar, classificar e manipular listas.

PriorityQueue<TElement,TPriority>.UnorderedItemsCollection

Enumera o conteúdo de um PriorityQueue<TElement,TPriority>, sem nenhuma garantia de ordenação.

PriorityQueue<TElement,TPriority>

Representa uma coleção de itens que têm um valor e uma prioridade. Na desativação, o item com o valor de prioridade mais baixo é removido.

Queue<T>

Representa uma coleção primeiro a entrar, primeiro a sair de objetos.

ReferenceEqualityComparer

Um IEqualityComparer<T> que usa igualdade de referência (ReferenceEquals(Object, Object)) em vez de igualdade de valor (Equals(Object)) ao comparar duas instâncias de objeto.

SortedDictionary<TKey,TValue>.KeyCollection

Representa a coleção de chaves em um SortedDictionary<TKey,TValue>. Essa classe não pode ser herdada.

SortedDictionary<TKey,TValue>.ValueCollection

Representa a coleção de valores em um SortedDictionary<TKey,TValue>. Essa classe não pode ser herdada.

SortedDictionary<TKey,TValue>

Representa uma coleção de pares chave/valor que são classificados na chave.

SortedList<TKey,TValue>

Representa uma coleção de pares chave/valor que são classificados por chave com base na implementação de IComparer<T> associada.

SortedSet<T>

Representa uma coleção de objetos que é mantida em ordem classificada.

Stack<T>

Representa uma coleção UEPS (último a entrar, primeiro a sair) de tamanho variável das instâncias do mesmo tipo especificado.

SynchronizedCollection<T>

Fornece uma coleção thread-safe que contém objetos de um tipo especificado pelo parâmetro genérico como elementos.

SynchronizedKeyedCollection<K,T>

Fornece uma coleção thread-safe que contém objetos de um tipo especificado por um parâmetro genérico e que são agrupados por chaves.

SynchronizedReadOnlyCollection<T>

Fornece uma coleção thread-safe somente leitura que contém objetos de um tipo especificado pelo parâmetro genérico como elementos.

Estruturas

Dictionary<TKey,TValue>.Enumerator

Enumera os elementos de uma Dictionary<TKey,TValue>.

Dictionary<TKey,TValue>.KeyCollection.Enumerator

Enumera os elementos de uma Dictionary<TKey,TValue>.KeyCollection.

Dictionary<TKey,TValue>.ValueCollection.Enumerator

Enumera os elementos de uma Dictionary<TKey,TValue>.ValueCollection.

HashSet<T>.Enumerator

Enumera os elementos de um objeto HashSet<T>.

KeyValuePair<TKey,TValue>

Define um par chave/valor que pode ser definido ou recuperado.

LinkedList<T>.Enumerator

Enumera os elementos de uma LinkedList<T>.

List<T>.Enumerator

Enumera os elementos de uma List<T>.

PriorityQueue<TElement,TPriority>.UnorderedItemsCollection.Enumerator

Enumera os pares de elemento e prioridade de um PriorityQueue<TElement,TPriority>, sem nenhuma garantia de ordenação.

Queue<T>.Enumerator

Enumera os elementos de uma Queue<T>.

SortedDictionary<TKey,TValue>.Enumerator

Enumera os elementos de uma SortedDictionary<TKey,TValue>.

SortedDictionary<TKey,TValue>.KeyCollection.Enumerator

Enumera os elementos de uma SortedDictionary<TKey,TValue>.KeyCollection.

SortedDictionary<TKey,TValue>.ValueCollection.Enumerator

Enumera os elementos de uma SortedDictionary<TKey,TValue>.ValueCollection.

SortedSet<T>.Enumerator

Enumera os elementos de um objeto SortedSet<T>.

Stack<T>.Enumerator

Enumera os elementos de uma Stack<T>.

Interfaces

IAsyncEnumerable<T>

Expõe um enumerador que oferece iteração assíncrona sobre valores de um tipo especificado.

IAsyncEnumerator<T>

Dá suporte a uma iteração assíncrona por meio de uma coleção genérica.

ICollection<T>

Define métodos para manipular coleções genéricas.

IComparer<T>

Define um método que um tipo implementa para comparar dois objetos.

IDictionary<TKey,TValue>

Representa uma coleção genérica de pares chave/valor.

IEnumerable<T>

Expõe o enumerador que dá suporte a uma iteração simples em uma coleção de um tipo especificado.

IEnumerator<T>

Dá suporte a uma iteração simples em vez de uma coleção genérica.

IEqualityComparer<T>

Define métodos para dar suporte à comparação de objetos para igualdade.

IList<T>

Representa uma coleção de objetos que podem ser acessados separadamente por índice.

IReadOnlyCollection<T>

Representa uma coleção fortemente tipada e somente leitura de elementos.

IReadOnlyDictionary<TKey,TValue>

Representa uma coleção somente leitura genérica de pares chave/valor.

IReadOnlyList<T>

Representa uma coleção somente leitura de elementos que podem ser acessados por índice.

IReadOnlySet<T>

Fornece uma abstração readonly de um conjunto.

ISet<T>

Fornece a interface base para a abstração de conjuntos.

Comentários

Muitos dos tipos de coleção genéricos são diretamente análogos aos tipos não genéricos. Dictionary<TKey,TValue> é uma versão genérica de Hashtable; ele usa a estrutura genérica KeyValuePair<TKey,TValue> para enumeração em vez de DictionaryEntry. List<T> é uma versão genérica de ArrayList. Há classes Queue<T> e Stack<T> genéricas que correspondem às versões não genéricas. Há versões genéricas e não genéricas de SortedList<TKey,TValue>. As duas versões são híbridas de um dicionário e de uma lista. A classe genérica SortedDictionary<TKey,TValue> é um dicionário puro e não tem nenhum equivalente não genérico. A LinkedList<T> classe genérica é uma lista vinculada verdadeira e não tem nenhum equivalente não genérico.

Confira também