System.Collections.Immutable Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Contiene interfaces y clases que definen colecciones inmutables.
Clases
ImmutableArray |
Proporciona métodos para crear una matriz que es inmutable, lo que significa que no se puede cambiar una vez que se crea. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableArray<T>.Builder |
Descriptor de acceso de escritura de matriz que se puede convertir en una instancia ImmutableArray<T> sin asignar memoria adicional. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableDictionary |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableDictionary<TKey,TValue>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableDictionary<TKey,TValue>.Builder |
Representa un mapa hash que transforma con poca o ninguna asignación de memoria y que puede generar o compilar instancias de mapa hash inmutables muy eficazmente. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableDictionary<TKey,TValue> |
Representa una colección inmutable y no ordenada de claves y valores. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableHashSet |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableHashSet<T>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableHashSet<T>.Builder |
Representa un conjunto de hash que transforma con poca o ninguna asignación de memoria y que puede generar o compilar instancias de conjunto hash inmutables muy eficazmente. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableHashSet<T> |
Representa un conjunto hash inmutable y sin ordenar. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableInterlocked |
Contiene mecanismos de intercambio interbloqueados para colecciones inmutables. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableList |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableList<T>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableList<T>.Builder |
Representa una lista que se transforma con poca o ninguna asignación de memoria y que puede generar o compilar instancias de lista inmutables muy eficazmente. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableList<T> |
Representa una lista de objetos fuertemente tipados inmutable a la que se puede obtener acceso por índice. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableQueue |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableQueue<T>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableQueue<T> |
Representa una cola inmutable. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedDictionary |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableSortedDictionary<TKey,TValue>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedDictionary<TKey,TValue>.Builder |
Representa un diccionario ordenado que se transforma con poca o ninguna asignación de memoria y que puede generar o compilar instancias de diccionario ordenado inmutable muy eficazmente. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedDictionary<TKey,TValue> |
Representa un diccionario ordenado inmutable. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedSet |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableSortedSet<T>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedSet<T>.Builder |
Representa un conjunto ordenado que permite cambios con poca o ninguna asignación de memoria y manipula o crea eficazmente conjuntos ordenados inmutables. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableSortedSet<T> |
Representa una implementación de un conjunto ordenado inmutable. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableStack |
Proporciona un conjunto de métodos de inicialización para las instancias de la clase ImmutableStack<T>. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
ImmutableStack<T> |
Representa una pila inmutable. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
Estructuras
Interfaces
IImmutableDictionary<TKey,TValue> |
Representa una colección inmutable de pares de clave y valor. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
IImmutableList<T> |
Representa una lista de elementos que no se puede modificar. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
IImmutableQueue<T> |
Representa una colección de objetos de tipo primero en entrar, primero en salir inmutable. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
IImmutableSet<T> |
Representa un conjunto de elementos que solo pueden modificarse mediante la creación de una nueva instancia del conjunto. Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
IImmutableStack<T> |
Representa una colección de objetos LIFO (último en entrar, primero en salir). Paquete NuGet: System.Collections.Immutable (sobre las colecciones inmutables y la instalación) |
Comentarios
Con las colecciones inmutables, puede:
- Comparta una colección de forma que su consumidor pueda estar seguro de que la colección nunca cambia.
- Proporcionar seguridad para subprocesos implícita en aplicaciones multiproceso (no se necesitan bloqueos para tener acceso a las colecciones).
- Seguir los procedimientos de programación funcional.
- Modificar una colección durante la enumeración, mientras se garantiza que la colección original no cambia.
Las clases de colección inmutables están disponibles como parte de las bibliotecas básicas de .NET, pero no forman parte de la biblioteca de clases principales distribuidas con .NET Framework. En el caso de las aplicaciones de .NET Framework 4.6.2 y versiones posteriores, las clases están disponibles a través de paquetes NuGet.