System.Collections.Immutable Namespace

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. Ces classes sont prises en charge à partir de .NET Framework 4.5.NET Framework 4.5. These classes are supported starting with .NET Framework 4.5.NET Framework 4.5. Utilisez-les pour créer des applications qui ciblent le bureau, Windows StoreWindows Store, Bibliothèque de classes portablePortable Class Library et Windows Phone 8. Use them to build apps that target the desktop, Windows StoreWindows Store, Bibliothèque de classes portablePortable Class Library and Windows Phone 8.

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.

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)

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.

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

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.

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>.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.

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<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.

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<T>

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

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)

ImmutableInterlocked

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

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)

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.

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)

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.

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)

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.

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

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.

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)

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.

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)

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.

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)

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.

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<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.

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<T>

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

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)

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.

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)

ImmutableStack<T>

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

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)

Structures

ImmutableArray<T>.Enumerator

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

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)

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.

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>.Enumerator

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

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<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.

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)

ImmutableList<T>.Enumerator

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

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>.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.

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)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

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

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<T>.Enumerator

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

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)

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.

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)

Interfaces

IImmutableDictionary<TKey,TValue>

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

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)

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.

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)

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.

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)

IImmutableStack<T>

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

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)

Remarques

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

  • Partager une collection d’une manière ses consommateurs peut être assurée 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 immuable sont disponibles avec .NET Core, mais ils ne sont pas partie de la bibliothèque de classes core 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 à compter de .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 et choisissez gérer les Packages NuGet à partir de la projet menu.Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. Si vous le souhaitez, sélectionnez le inclure la version préliminaire case à cocher.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 le recherche Localisez le System.Collections.Immutable package.Use the Search box to locate the System.Collections.Immutable package.

  4. Dans le volet gauche, sélectionnez le System.Collections.Immutable package.In the left pane, select the System.Collections.Immutable package. Dans le volet droit, sélectionnez la version souhaitée, puis choisissez installation.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 différer légèrement en raison de différences dans l’interface utilisateur (IU).For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).