System.Collections.Immutable Espaço de Nomes

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

Classes

Name Description
ImmutableArray

Fornece métodos para criar um array que é imutável, ou seja, não pode ser alterado depois de criado.

ImmutableArray<T>.Builder

Representa um acessor de array gravável que pode ser convertido numa ImmutableArray<T> instância sem alocar memória adicional.

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 sofre mutações com poucas ou nenhumas alocações de memória e que pode produzir ou construir sobre instâncias de mapas de hash imutáveis de forma eficiente.

ImmutableDictionary<TKey,TValue>

Representa uma coleção imutável e desordenada 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 sofre mutações com poucas ou nenhumas alocações de memória e que pode produzir ou construir instâncias de conjuntos de hash imutáveis de forma eficiente.

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 muta com poucas ou nenhumas alocações de memória e que pode produzir ou construir instâncias de lista imutáveis de forma eficiente.

ImmutableList<T>

Representa uma lista imutável, que é uma lista fortemente tipada de objetos que pode ser acedida por í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 ordenado que sofre mutações com poucas ou nenhumas alocações de memória e que pode produzir ou construir instâncias de dicionário ordenado imutáveis de forma eficiente.

ImmutableSortedDictionary<TKey,TValue>

Representa um dicionário ordenado 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 ordenado que permite alterações com pouca ou nenhuma alocação de memória, e manipula ou constrói conjuntos ordenados imutáveis de forma eficiente.

ImmutableSortedSet<T>

Representa uma implementação de conjunto ordenado 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

Name Description
ImmutableArray<T>.Enumerator

Representa um enumerador de arrays.

ImmutableArray<T>

Representa um array que é imutável, ou seja, não pode ser alterado depois de criado.

ImmutableDictionary<TKey,TValue>.Enumerator

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

ImmutableHashSet<T>.Enumerator

Enumera o conteúdo do conjunto de hash imutável sem alocar qualquer 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 qualquer 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 qualquer memória.

Interfaces

Name 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 imutável de objetos, primeiro a entrar, primeiro a sair.

IImmutableSet<T>

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

IImmutableStack<T>

Representa uma coleção imutável de último a entrar, primeiro a sair (LIFO).

Observações

Com coleções imutáveis, pode:

  • Partilhe uma coleção de forma a que o consumidor possa ter a certeza de que a coleção nunca muda.
  • Fornecer segurança implícita de threads em aplicações multithreaded (sem necessidade de bloqueios para aceder a coleções).
  • Siga as práticas de programação funcional.
  • Modificar uma coleção durante a enumeração, garantindo que a coleção original não mude.