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
ImmutableArray |
Fornece métodos para criar uma matriz que é imutável, o que significa que ela não pode ser alterada depois de criada. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableArray<T>.Builder |
Um acessador de matriz gravável que pode ser convertido em uma instância ImmutableArray<T> sem alocar memória extra. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableDictionary |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableDictionary<TKey,TValue>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableDictionary<TKey,TValue>.Builder |
Representa um mapa de hash que se modifica com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de mapa de hash imutáveis de maneira muito eficiente. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableDictionary<TKey,TValue> |
Representa uma coleção imutável, não ordenada de chaves e valores. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableHashSet |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableHashSet<T>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableHashSet<T>.Builder |
Representa um conjunto de hash que se modifica com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de conjunto de hash imutáveis de maneira muito eficiente. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableHashSet<T> |
Representa um conjunto de hash imutável não ordenado. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableInterlocked |
Contém mecanismos de troca encaixados para coleções imutáveis. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableList |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableList<T>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
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ável de maneira muito eficiente. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableList<T> |
Representa uma lista imutável, que é uma lista fortemente tipada de objetos que podem ser acessados por índice. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableQueue |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableQueue<T>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableQueue<T> |
Representa uma fila imutável. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableSortedDictionary |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableSortedDictionary<TKey,TValue>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableSortedDictionary<TKey,TValue>.Builder |
Representa um dicionário classificado que se modifica com pouca ou nenhuma alocação de memória e que pode produzir ou criar instâncias de dicionário classificado imutável de maneira muito eficiente. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableSortedDictionary<TKey,TValue> |
Representa um dicionário classificado imutável. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableSortedSet |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableSortedSet<T>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
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. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableSortedSet<T> |
Representa uma implementação de conjunto classificado imutável. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableStack |
Fornece um conjunto de métodos de inicialização para instâncias da classe ImmutableStack<T>. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
ImmutableStack<T> |
Representa uma pilha imutável. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
Estruturas
Interfaces
IImmutableDictionary<TKey,TValue> |
Representa uma coleção imutável de pares chave/valor. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
IImmutableList<T> |
Representa uma lista de elementos que não pode ser modificada. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
IImmutableQueue<T> |
Representa uma coleção imutável de objetos primeiro a entrar, primeiro a sair. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
IImmutableSet<T> |
Representa um conjunto de elementos que só pode ser modificado por meio da criação de uma nova instância do conjunto. Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
IImmutableStack<T> |
Representa uma coleção imutável LIFO (último a entrar, primeiro a sair). Pacote NuGet: System.Collections.Immutable (sobre coleções imutáveis e como instalá-las) |
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.
- Oferecer acesso thread-safe implícito em aplicativos com multithread (sem bloqueios necessários para acessar coleções).
- Seguir práticas de programação funcionais.
- Modificar uma coleção durante a enumeração, ao mesmo tempo em que assegura que a coleção original não será alterada.
As classes de coleção imutáveis estão disponíveis como parte das bibliotecas principais do .NET, no entanto, elas não fazem parte da biblioteca de classes principal distribuída com o .NET Framework. Para aplicativos .NET Framework 4.6.2 e posteriores, as classes estão disponíveis por meio de pacotes NuGet.