Compartir vía


System.Collections.Immutable Espacio de nombres

Contiene interfaces y clases que definen colecciones inmutables.

Clases

Nombre Description
ImmutableArray

Proporciona métodos para crear una matriz inmutable, lo que significa que no se puede cambiar una vez creada.

ImmutableArray<T>.Builder

Representa un descriptor de acceso de matriz grabable que se puede convertir en una ImmutableArray<T> instancia sin asignar memoria adicional.

ImmutableDictionary

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableDictionary<TKey,TValue> clase .

ImmutableDictionary<TKey,TValue>.Builder

Representa un mapa hash que muta con poca o ninguna asignación de memoria y que puede generar o basarse en instancias de mapa hash inmutables de forma eficaz.

ImmutableDictionary<TKey,TValue>

Representa una colección inmutable y desordenada de claves y valores.

ImmutableHashSet

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableHashSet<T> clase .

ImmutableHashSet<T>.Builder

Representa un conjunto hash que muta con poca o ninguna asignación de memoria y que puede generar o basarse en instancias de conjuntos hash inmutables de forma eficaz.

ImmutableHashSet<T>

Representa un conjunto hash inmutable y no ordenado.

ImmutableInterlocked

Contiene mecanismos de intercambio interbloqueados para colecciones inmutables.

ImmutableList

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableList<T> clase .

ImmutableList<T>.Builder

Representa una lista que muta con poca o ninguna asignación de memoria y que puede generar o basarse en instancias de lista inmutables de forma eficaz.

ImmutableList<T>

Representa una lista inmutable, que es una lista fuertemente tipada de objetos a los que puede acceder el índice.

ImmutableQueue

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableQueue<T> clase .

ImmutableQueue<T>

Representa una cola inmutable.

ImmutableSortedDictionary

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableSortedDictionary<TKey,TValue> clase .

ImmutableSortedDictionary<TKey,TValue>.Builder

Representa un diccionario ordenado que muta con poca o ninguna asignación de memoria y que puede generar o basarse en instancias de diccionario ordenadas inmutables de forma eficaz.

ImmutableSortedDictionary<TKey,TValue>

Representa un diccionario ordenado inmutable.

ImmutableSortedSet

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableSortedSet<T> clase .

ImmutableSortedSet<T>.Builder

Representa un conjunto ordenado que permite cambios con poca o ninguna asignación de memoria y manipula o compila de forma eficaz conjuntos ordenados inmutables.

ImmutableSortedSet<T>

Representa una implementación de conjunto ordenado inmutable.

ImmutableStack

Proporciona un conjunto de métodos de inicialización para instancias de la ImmutableStack<T> clase .

ImmutableStack<T>

Representa una pila inmutable.

Estructuras

Nombre Description
ImmutableArray<T>.Enumerator

Representa un enumerador de matriz.

ImmutableArray<T>

Representa una matriz inmutable, lo que significa que no se puede cambiar una vez creada.

ImmutableDictionary<TKey,TValue>.Enumerator

Enumera el contenido del diccionario inmutable sin asignar memoria.

ImmutableHashSet<T>.Enumerator

Enumera el contenido del conjunto hash inmutable sin asignar ninguna memoria.

ImmutableList<T>.Enumerator

Enumera el contenido de un árbol binario.

ImmutableQueue<T>.Enumerator

Enumera el contenido de una cola inmutable sin asignar memoria.

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Enumera el contenido de un árbol binario.

ImmutableSortedSet<T>.Enumerator

Enumera el contenido de un árbol binario.

ImmutableStack<T>.Enumerator

Enumera el contenido de una pila inmutable sin asignar memoria.

Interfaces

Nombre Description
IImmutableDictionary<TKey,TValue>

Representa una colección inmutable de pares clave-valor.

IImmutableList<T>

Representa una lista de elementos que no se pueden modificar.

IImmutableQueue<T>

Representa una colección inmutable en primer lugar, primero en salir de objetos.

IImmutableSet<T>

Representa un conjunto de elementos que solo se pueden modificar mediante la creación de una nueva instancia del conjunto.

IImmutableStack<T>

Representa una colección inmutable last-in-first-out (LIFO).

Comentarios

Con colecciones inmutables, puede hacer lo siguiente:

  • Comparta una colección de forma que su consumidor pueda asegurarse de que la colección nunca cambia.
  • Proporcionar seguridad implícita para subprocesos en aplicaciones multiproceso (sin bloqueos necesarios para acceder a las colecciones).
  • Siga los procedimientos de programación funcionales.
  • Modifique una colección durante la enumeración, al tiempo que garantiza que la colección original no cambie.