System.Collections.Immutable Espace de noms

Contient des interfaces et des classes qui définissent des collections immuables.

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

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableDictionary

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableDictionary<TKey,TValue>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableDictionary<TKey,TValue>

Représente une collection immuable et non triée de clés et valeurs.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableHashSet

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableHashSet<T>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableHashSet<T>

Représente un ensemble immuable de hachage, non trié.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableInterlocked

Contient des mécanismes d’échange verrouillés pour les collections immuables.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableList

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableList<T>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableList<T>

Représente une liste immuable, qui est une liste fortement typée d’objets accessibles par index.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableQueue

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableQueue<T>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableQueue<T>

Représente une file d’attente immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedDictionary

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableSortedDictionary<TKey,TValue>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedDictionary<TKey,TValue>

Représente un dictionnaire trié immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedSet

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableSortedSet<T>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

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.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedSet<T>

Représente une implémentation de l’ensemble trié immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableStack

Fournit un ensemble de méthodes d’initialisation pour les instances de la classe ImmutableStack<T>.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableStack<T>

Représente une pile immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

Structures

ImmutableArray<T>.Enumerator

Énumérateur sous forme de tableau.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableArray<T>

Représente un tableau qui est immuable ; ce qui signifie qu’il ne peut pas être modifié une fois créé.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableDictionary<TKey,TValue>.Enumerator

Énumère le contenu du dictionnaire immuable sans allouer de mémoire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableHashSet<T>.Enumerator

Énumère le contenu de l’ensemble immuable de hachage sans allouer de mémoire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableList<T>.Enumerator

Énumère le contenu d’une arborescence binaire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableQueue<T>.Enumerator

Énumère le contenu d’une file d’attente immuable sans allouer de mémoire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Énumère le contenu d’une arborescence binaire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableSortedSet<T>.Enumerator

Énumère le contenu d’une arborescence binaire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

ImmutableStack<T>.Enumerator

Énumère le contenu d’une pile immuable sans allouer de mémoire.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

Interfaces

IImmutableDictionary<TKey,TValue>

Représente une collection immuable de paires clé/valeur.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

IImmutableList<T>

Représente une liste d’éléments qui ne peuvent pas être modifiés.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

IImmutableQueue<T>

Représente une collection d’objets premier entré, premier sorti immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

IImmutableSet<T>

Représente un ensemble d’éléments qui ne peut être modifié en créant une nouvelle instance de l’ensemble.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

IImmutableStack<T>

Représente une collection de type dernier entré, premier sorti (LIFO) immuable.

NuGet package: System.Collections.Immutable (à propos des collections immuables et de leur installation)

Remarques

Grâce aux collections immuables, vous pouvez :

  • Partager une collection de manière à ce que son consommateur puisse garantir que la collection ne change jamais.

  • fournir une sécurité des threads implicite dans les applications multithread (aucun verrou requis pour accéder aux collections) ;

  • suivre des pratiques de programmation fonctionnelles ;

  • modifier une collection pendant l'énumération, sans que la collection d'origine change.

Les classes de collection immuables sont disponibles avec .NET Core et .NET 5 +, mais elles ne font pas partie de la bibliothèque de classes de base distribuée avec .NET Framework. Ils sont disponibles à partir de .NET Framework 4,5 via NuGet.

Pour installer les collections immuables via NuGet :

  1. Ouvrez votre projet dans Visual Studio, puis choisissez gérer les packages NuGet dans le menu projet .

  2. Si vous le souhaitez, activez la case à cocher inclure la version préliminaire .

    Cette option vous donne accès aux nouvelles versions préliminaires des classes immuables, dès qu’elles sont disponibles.

  3. Utilisez la zone de recherche pour localiser le package System. Collections. immuable .

  4. Dans le volet gauche, sélectionnez le package System. Collections. immuable . Dans le volet droit, sélectionnez la version souhaitée, puis choisissez Installer.

Les étapes d’installation décrites ci-dessus sont pour 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.