System.Collections.Immutable Espaço de Nomes
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.