System.Collections.Immutable Espace de noms

L’espace de noms System.Collections.Immutable contient des interfaces et des classes qui définissent des collections immuables. The System.Collections.Immutable namespace contains interfaces and classes that define immutable collections.

Classes

ImmutableArray

Fournit des méthodes pour la création d’un tableau immuable ; ce qui signifie qu’il ne peut pas être modifié une fois créé.Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>.Builder

Accesseur de tableau accessible en écriture qui peut être converti en une instance ImmutableArray<T> sans allouer de mémoire supplémentaire.A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableDictionary<TKey,TValue>.Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Builder

Représente une table de hachage qui mute, avec peu ou pas d’allocations de mémoire, et qui peut produire ou créer efficacement sur des instances de table de hachage.Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently.

Package NuGet : System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>

Représente une collection immuable et non triée de clés et valeurs.Represents an immutable, unordered collection of keys and values.

Package NuGet : System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableHashSet<T>.Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Builder

Représente un ensemble de hachage qui mute, avec peu ou pas d’allocations de mémoire, et qui peut produire ou créer très efficacement sur des instances de l’ensemble immuable de hachage.Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>

Représente un ensemble immuable de hachage, non trié.Represents an immutable, unordered hash set.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableInterlocked

Contient des mécanismes d’échange verrouillés pour les collections immuables.Contains interlocked exchange mechanisms for immutable collections.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableList<T>.Provides a set of initialization methods for instances of the ImmutableList<T> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Builder

Représente une liste qui mute, avec peu ou pas d’allocations de mémoire, et qui peut produire ou créer très efficacement sur les instances de liste immuable.Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>

Représente une liste immuable, qui est une liste fortement typée d’objets accessibles par index.Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableQueue<T>.Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

Package NuGet : System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>

Représente une file d’attente immuable.Represents an immutable queue.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableSortedDictionary<TKey,TValue>.Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Builder

Représente un dictionnaire trié qui mute, avec peu ou pas d’allocations de mémoire, et qui peut produire ou créer efficacement sur des instances de dictionnaire trié.Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>

Représente un dictionnaire trié immuable.Represents an immutable sorted dictionary.

Package NuGet : System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableSortedSet<T>.Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Builder

Représente un ensemble trié qui permet des modifications, avec peu ou pas d’allocations de mémoire, et manipule ou génère efficacement des ensembles triés immuables.Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>

Représente une implémentation de l’ensemble trié immuable.Represents an immutable sorted set implementation.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableStack<T>.Provides a set of initialization methods for instances of the ImmutableStack<T> class.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>

Représente une pile immuable.Represents an immutable stack.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Structures

ImmutableArray<T>.Enumerator

Énumérateur sous forme de tableau.An array enumerator.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>

Représente un tableau qui est immuable ; ce qui signifie qu’il ne peut pas être modifié une fois créé.Represents an array that is immutable; meaning it cannot be changed once it is created.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Enumerator

Énumère le contenu du dictionnaire immuable sans allouer de mémoire.Enumerates the contents of the immutable dictionary without allocating any memory.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Enumerator

Énumère le contenu de l’ensemble immuable de hachage sans allouer de mémoire.Enumerates the contents of the immutable hash set without allocating any memory.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Enumerator

Énumère le contenu d’une arborescence binaire.Enumerates the contents of a binary tree.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>.Enumerator

Énumère le contenu d’une file d’attente immuable sans allouer de mémoire.Enumerates the contents of an immutable queue without allocating any memory.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Énumère le contenu d’une arborescence binaire.Enumerates the contents of a binary tree.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Enumerator

Énumère le contenu d’une arborescence binaire.Enumerates the contents of a binary tree.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>.Enumerator

Énumère le contenu d’une pile immuable sans allouer de mémoire.Enumerates the contents of an immutable stack without allocating any memory.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Interfaces

IImmutableDictionary<TKey,TValue>

Représente une collection immuable de paires clé/valeur.Represents an immutable collection of key/value pairs.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableList<T>

Représente une liste d’éléments qui ne peuvent pas être modifiés.Represents a list of elements that cannot be modified.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableQueue<T>

Représente une collection d’objets premier entré, premier sorti immuable.Represents an immutable first-in, first-out collection of objects.

Package NuGet : System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableSet<T>

Représente un ensemble d’éléments qui ne peut être modifié en créant une nouvelle instance de l’ensemble.Represents a set of elements that can only be modified by creating a new instance of the set.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableStack<T>

Représente une collection de type dernier entré, premier sorti (LIFO) immuable.Represents an immutable last-in-first-out (LIFO) collection.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Remarques

Grâce aux collections immuables, vous pouvez :With immutable collections, you can:

  • Partager une collection de manière à ce que son consommateur puisse garantir que la collection ne change jamais.Share a collection in a way that its consumer can be assured that the collection never changes.

  • fournir une sécurité des threads implicite dans les applications multithread (aucun verrou requis pour accéder aux collections) ;Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • suivre des pratiques de programmation fonctionnelles ;Follow functional programming practices.

  • modifier une collection pendant l'énumération, sans que la collection d'origine change.Modify a collection during enumeration, while ensuring that the original collection does not change.

Les classes de collection immuables sont disponibles avec .NET Core, mais elles ne font pas partie de la bibliothèque de classes de base distribuée avec le .NET Framework.The immutable collection classes are available with .NET Core, however they're not part of the core class library distributed with the .NET Framework. Ils sont disponibles à partir du .NET Framework 4,5 via NuGet.They're available starting with the .NET Framework 4.5 via NuGet.

Pour installer les collections immuables via NuGet :To install the immutable collections via NuGet:

  1. Ouvrez votre projet dans Visual Studio, puis choisissez gérer les packages NuGet dans le menu projet .Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. Si vous le souhaitez, activez la case à cocher inclure la version préliminaire .Optionally, select the Include prerelease checkbox. Cette option vous donne accès aux nouvelles versions préliminaires des classes immuables dès qu'elles sont disponibles.This option will give you access to new prerelease versions of the immutable classes, as they become available.

  3. Utilisez la zone de recherche pour localiser le package System. Collections. immuable .Use the Search box to locate the System.Collections.Immutable package.

  4. Dans le volet gauche, sélectionnez le package System. Collections. immuable .In the left pane, select the System.Collections.Immutable package. Dans le volet droit, sélectionnez la version souhaitée, puis choisissez Installer.In the right pane, select the desired version and then choose Install.

Les étapes d’installation décrites ci-dessus sont pour Visual Studio 2015.The installation steps described above are for Visual Studio 2015. Pour les autres versions de Visual Studio, les étapes peuvent être légèrement différentes en raison des différences dans l’interface utilisateur.For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).