System.Collections.Immutable Przestrzeń nazw

Przestrzeń nazw System.Collections.Immutable zawiera interfejsy i klasy, które definiują Niezmienne kolekcje. The System.Collections.Immutable namespace contains interfaces and classes that define immutable collections.

Klasy

ImmutableArray

Zapewnia metody tworzenia tablicy, która jest niezmienna; oznacza to, że nie można go zmienić po utworzeniu.Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>.Builder

Zapisywalny akcesor tablicy, który można przekonwertować na wystąpienie ImmutableArray<T> bez przydzielania dodatkowej pamięci.A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableDictionary<TKey,TValue>.Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Builder

Reprezentuje mapę skrótu, która jest niezbędna w przypadku niewielkich lub braku alokacji pamięci i która może wydajnie tworzyć lub kompilować na niezmienne wystąpienia mapy skrótów.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.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>

Przedstawia niemodyfikowalną, nieuporządkowaną kolekcję kluczy i wartości.Represents an immutable, unordered collection of keys and values.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableHashSet<T>.Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Builder

Reprezentuje zestaw skrótów, który jest przypuszczalny w przypadku niewielkich lub braku alokacji pamięci i który może generować lub kompilować na niezmienne wystąpienia zestawu skrótów bardzo wydajnie.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.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>

Przedstawia niezmienny zestaw skrótów nieuporządkowanych.Represents an immutable, unordered hash set.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableInterlocked

Zawiera międzyblokadne mechanizmy wymiany dla niemodyfikowalnych kolekcji.Contains interlocked exchange mechanisms for immutable collections.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableList<T>.Provides a set of initialization methods for instances of the ImmutableList<T> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Builder

Reprezentuje listę, która jest niezbędna w przypadku niewielkich lub nielicznych alokacji pamięci i która może wydajnie tworzyć lub kompilować niezmienne wystąpienia list.Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>

Reprezentuje niemodyfikowalną listę, która jest silnie wpisaną listą obiektów, do których można uzyskać dostęp za pomocą indeksu.Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableQueue<T>.Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>

Reprezentuje niemodyfikowalną kolejkę.Represents an immutable queue.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableSortedDictionary<TKey,TValue>.Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Builder

Reprezentuje posortowany słownik, który jest przypuszczalny w przypadku niewielkich lub braku alokacji pamięci i który może generować lub kompilować na niezmienne posortowane wystąpienia słownika bardzo wydajnie.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.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>

Reprezentuje niemodyfikowalny posortowany słownik.Represents an immutable sorted dictionary.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableSortedSet<T>.Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Builder

Reprezentuje zestaw posortowany, który umożliwia wprowadzanie zmian z niewielkimi lub brakami alokacji pamięci, i wydajnie operuje lub kompiluje niezmienne zestawy posortowane.Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>

Reprezentuje niemodyfikowalną posortowaną implementację zestawu.Represents an immutable sorted set implementation.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack

Dostarcza zestaw metod inicjacji dla wystąpień klasy ImmutableStack<T>.Provides a set of initialization methods for instances of the ImmutableStack<T> class.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>

Reprezentuje niezmienny stos.Represents an immutable stack.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Struktury

ImmutableArray<T>.Enumerator

Moduł wyliczający tablicę.An array enumerator.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>

Reprezentuje tablicę, która jest niezmienna; oznacza to, że nie można go zmienić po utworzeniu.Represents an array that is immutable; meaning it cannot be changed once it is created.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Enumerator

Wylicza zawartość niezmiennego słownika bez przydzielania żadnej pamięci.Enumerates the contents of the immutable dictionary without allocating any memory.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Enumerator

Wylicza zawartość niezmiennego zestawu skrótów bez przydzielania żadnej pamięci.Enumerates the contents of the immutable hash set without allocating any memory.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Enumerator

Wylicza zawartość drzewa binarnego.Enumerates the contents of a binary tree.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>.Enumerator

Wylicza zawartość niezmiennej kolejki bez przydzielania żadnej pamięci.Enumerates the contents of an immutable queue without allocating any memory.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Wylicza zawartość drzewa binarnego.Enumerates the contents of a binary tree.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Enumerator

Wylicza zawartość drzewa binarnego.Enumerates the contents of a binary tree.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>.Enumerator

Wylicza zawartość niezmiennego stosu bez przydzielania żadnej pamięci.Enumerates the contents of an immutable stack without allocating any memory.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Interfejsy

IImmutableDictionary<TKey,TValue>

Reprezentuje Niezmienne kolekcje par klucz/wartość.Represents an immutable collection of key/value pairs.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableList<T>

Reprezentuje listę elementów, których nie można modyfikować.Represents a list of elements that cannot be modified.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableQueue<T>

Reprezentuje niemodyfikowalną pierwszą kolekcję obiektów w pierwszej kolejności.Represents an immutable first-in, first-out collection of objects.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableSet<T>

Reprezentuje zestaw elementów, które mogą być modyfikowane tylko przez utworzenie nowego wystąpienia zestawu.Represents a set of elements that can only be modified by creating a new instance of the set.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableStack<T>

Reprezentuje niemodyfikowalną kolekcję Last-in-First-Out (LIFO).Represents an immutable last-in-first-out (LIFO) collection.

Pakiet NuGet: System. Collections. unzmienny (Informacje o niemodyfikowalnych kolekcjach i sposobie instalacji)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Uwagi

Z niezmiennymi kolekcjami można:With immutable collections, you can:

  • Udostępnianie kolekcji w taki sposób, że jej konsument może mieć pewność, że kolekcja nigdy nie ulega zmianie.Share a collection in a way that its consumer can be assured that the collection never changes.

  • Zapewnianie niejawnych zabezpieczeń wątków w aplikacjach wielowątkowych (nie ma blokady wymaganych do uzyskiwania dostępu do kolekcji).Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • Postępuj zgodnie z zasadami programowania funkcjonalnego.Follow functional programming practices.

  • Modyfikowanie kolekcji podczas wyliczania, przy jednoczesnym zapewnieniu, że oryginalna kolekcja nie zmienia się.Modify a collection during enumeration, while ensuring that the original collection does not change.

Niezmienne klasy kolekcji są dostępne z platformą .NET Core, ale nie są one częścią podstawowej biblioteki klas dystrybuowanej z .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. Są one dostępne począwszy od .NET Framework 4,5 za pośrednictwem narzędzia NuGet.They're available starting with the .NET Framework 4.5 via NuGet.

Aby zainstalować Niezmienne kolekcje za pośrednictwem NuGet:To install the immutable collections via NuGet:

  1. Otwórz projekt w programie Visual Studio i wybierz polecenie Zarządzaj pakietami NuGet z menu projekt .Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. Opcjonalnie zaznacz pole wyboru Uwzględnij wersję wstępną .Optionally, select the Include prerelease checkbox. Ta opcja umożliwi dostęp do nowych wersji wstępnych klas niezmiennych, gdy staną się dostępne.This option will give you access to new prerelease versions of the immutable classes, as they become available.

  3. Użyj pola wyszukiwania , aby zlokalizować pakiet System. Collections. transzmienna .Use the Search box to locate the System.Collections.Immutable package.

  4. W okienku po lewej stronie wybierz pakiet System. Collections. transzmienna .In the left pane, select the System.Collections.Immutable package. W prawym okienku wybierz żądaną wersję, a następnie wybierz Zainstaluj.In the right pane, select the desired version and then choose Install.

Opisane powyżej kroki instalacji dotyczą programu Visual Studio 2015.The installation steps described above are for Visual Studio 2015. W przypadku innych wersji programu Visual Studio czynności te mogą się nieco różnić z powodu różnic w interfejsie użytkownika.For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).