System.Collections.Immutable Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.