Partilhar via


System.Collections.Immutable Namespace

Contém interfaces e classes que definem coleções imutáveis.

Classes

Nome Description
ImmutableArray

Fornece métodos para criar uma matriz imutável, o que significa que ela não pode ser alterada depois de criada.

ImmutableArray<T>.Builder

Representa um acessador de matriz gravável que pode ser convertido em uma ImmutableArray<T> instância sem alocar memória extra.

ImmutableDictionary

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableDictionary<TKey,TValue> classe.

ImmutableDictionary<TKey,TValue>.Builder

Representa um mapa de hash que muda com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de mapa de hash imutáveis com eficiência.

ImmutableDictionary<TKey,TValue>

Representa uma coleção imutável e não ordenada de chaves e valores.

ImmutableHashSet

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableHashSet<T> classe.

ImmutableHashSet<T>.Builder

Representa um conjunto de hash que muda com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de conjunto de hash imutáveis com eficiência.

ImmutableHashSet<T>

Representa um conjunto de hash imutável e não ordenado.

ImmutableInterlocked

Contém mecanismos de troca interligados para coleções imutáveis.

ImmutableList

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableList<T> classe.

ImmutableList<T>.Builder

Representa uma lista que muda com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de lista imutáveis com eficiência.

ImmutableList<T>

Representa uma lista imutável, que é uma lista fortemente tipada de objetos que podem ser acessados pelo índice.

ImmutableQueue

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableQueue<T> classe.

ImmutableQueue<T>

Representa uma fila imutável.

ImmutableSortedDictionary

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableSortedDictionary<TKey,TValue> classe.

ImmutableSortedDictionary<TKey,TValue>.Builder

Representa um dicionário classificado que muda com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de dicionário classificadas imutáveis com eficiência.

ImmutableSortedDictionary<TKey,TValue>

Representa um dicionário classificado imutável.

ImmutableSortedSet

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableSortedSet<T> classe.

ImmutableSortedSet<T>.Builder

Representa um conjunto classificado que permite alterações com pouca ou nenhuma alocação de memória e manipula ou cria conjuntos classificados imutáveis com eficiência.

ImmutableSortedSet<T>

Representa uma implementação de conjunto classificado imutável.

ImmutableStack

Fornece um conjunto de métodos de inicialização para instâncias da ImmutableStack<T> classe.

ImmutableStack<T>

Representa uma pilha imutável.

Estruturas

Nome Description
ImmutableArray<T>.Enumerator

Representa um enumerador de matriz.

ImmutableArray<T>

Representa uma matriz imutável, o que significa que ela não pode ser alterada depois de criada.

ImmutableDictionary<TKey,TValue>.Enumerator

Enumera o conteúdo do dicionário imutável sem alocar memória.

ImmutableHashSet<T>.Enumerator

Enumera o conteúdo do conjunto de hash imutável sem alocar memória.

ImmutableList<T>.Enumerator

Enumera o conteúdo de uma árvore binária.

ImmutableQueue<T>.Enumerator

Enumera o conteúdo de uma fila imutável sem alocar memória.

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Enumera o conteúdo de uma árvore binária.

ImmutableSortedSet<T>.Enumerator

Enumera o conteúdo de uma árvore binária.

ImmutableStack<T>.Enumerator

Enumera o conteúdo de uma pilha imutável sem alocar memória.

Interfaces

Nome Description
IImmutableDictionary<TKey,TValue>

Representa uma coleção imutável de pares chave/valor.

IImmutableList<T>

Representa uma lista de elementos que não podem ser modificados.

IImmutableQueue<T>

Representa uma coleção inicial e imutável de objetos.

IImmutableSet<T>

Representa um conjunto de elementos que só pode ser modificado criando uma nova instância do conjunto.

IImmutableStack<T>

Representa uma coleção LIFO (last-in-first-out) imutável.

Comentários

Com coleções imutáveis, você pode:

  • Compartilhe uma coleção de uma forma que seu consumidor possa ter certeza de que a coleção nunca muda.
  • Forneça segurança de thread implícita em aplicativos com vários threads (sem bloqueios necessários para acessar coleções).
  • Siga as práticas funcionais de programação.
  • Modifique uma coleção durante a enumeração, garantindo que a coleção original não seja alterada.