System.Collections.Immutable Obor názvů

Obsahuje rozhraní a třídy, které definují neměnné kolekce. Contains interfaces and classes that define immutable collections.

Třídy

ImmutableArray

Poskytuje metody pro vytvoření pole, které je neměnné; To znamená, že po vytvoření nelze změnit.Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>.Builder

Přístup k zapisovatelnému poli, který lze převést na ImmutableArray<T> instanci bez přidělení dodatečné paměti.A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary

Poskytuje sadu inicializačních metod pro instance ImmutableDictionary<TKey,TValue> třídy.Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Builder

Představuje mapu algoritmu hash, která se dá používat malým nebo žádným přidělením paměti a která může velmi efektivně vytvářet nebo sestavovat na neměnných instancích mapy algoritmu hash.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.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>

Představuje neproměnlivou neuspořádanou kolekci klíčů a hodnot.Represents an immutable, unordered collection of keys and values.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet

Poskytuje sadu inicializačních metod pro instance ImmutableHashSet<T> třídy.Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Builder

Představuje sadu hodnot hash, která se obdobně nebo bez přidělení paměti a která může vytvořit nebo sestavit na neměnných instancích sady hash velmi efektivně.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.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>

Představuje neproměnlivou neuspořádanou sadu hodnot hash.Represents an immutable, unordered hash set.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableInterlocked

Obsahuje propojené mechanismy Exchange pro neměnné kolekce.Contains interlocked exchange mechanisms for immutable collections.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList

Poskytuje sadu inicializačních metod pro instance ImmutableList<T> třídy.Provides a set of initialization methods for instances of the ImmutableList<T> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Builder

Představuje seznam, který se bude dodávat s malým nebo žádným přidělením paměti a který může velmi efektivně vytvářet nebo sestavovat na neměnných instancích seznamů.Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>

Představuje neproměnlivý seznam objektů, které mohou být k dispozici v indexu.Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue

Poskytuje sadu inicializačních metod pro instance ImmutableQueue<T> třídy.Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>

Představuje neproměnlivou frontu.Represents an immutable queue.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary

Poskytuje sadu inicializačních metod pro instance ImmutableSortedDictionary<TKey,TValue> třídy.Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Builder

Představuje seřazený slovník, který se bude používat malým nebo žádným přidělením paměti a který může velmi efektivně vytvářet nebo sestavovat na neměnných instancích slovníku.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.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>

Představuje neproměnlivý seřazený slovník.Represents an immutable sorted dictionary.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet

Poskytuje sadu inicializačních metod pro instance ImmutableSortedSet<T> třídy.Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Builder

Představuje seřazenou sadu, která umožňuje změny s malým nebo žádným přidělením paměti, a efektivně zpracovává nebo sestavuje neměnné seřazené sady.Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>

Představuje neproměnlivou implementaci řazené sady.Represents an immutable sorted set implementation.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack

Poskytuje sadu inicializačních metod pro instance ImmutableStack<T> třídy.Provides a set of initialization methods for instances of the ImmutableStack<T> class.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>

Představuje neproměnlivý zásobník.Represents an immutable stack.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Struktury

ImmutableArray<T>.Enumerator

Enumerátor pole.An array enumerator.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>

Představuje pole, které je neměnné; To znamená, že po vytvoření nelze změnit.Represents an array that is immutable; meaning it cannot be changed once it is created.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Enumerator

Vytvoří výčet obsahu neměnitelného slovníku bez přidělení paměti.Enumerates the contents of the immutable dictionary without allocating any memory.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Enumerator

Vytvoří výčet obsahu neměnné sady hash bez přidělení paměti.Enumerates the contents of the immutable hash set without allocating any memory.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Enumerator

Vytvoří výčet obsahu binárního stromu.Enumerates the contents of a binary tree.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>.Enumerator

Vytvoří výčet obsahu neměnné fronty bez přidělení paměti.Enumerates the contents of an immutable queue without allocating any memory.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Vytvoří výčet obsahu binárního stromu.Enumerates the contents of a binary tree.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Enumerator

Vytvoří výčet obsahu binárního stromu.Enumerates the contents of a binary tree.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>.Enumerator

Vytvoří výčet obsahu neměnného zásobníku bez přidělení paměti.Enumerates the contents of an immutable stack without allocating any memory.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Rozhraní

IImmutableDictionary<TKey,TValue>

Představuje neproměnlivou kolekci párů klíč/hodnota.Represents an immutable collection of key/value pairs.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableList<T>

Představuje seznam elementů, které nelze upravit.Represents a list of elements that cannot be modified.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableQueue<T>

Představuje neproměnlivý odběr první kolekce objektů.Represents an immutable first-in, first-out collection of objects.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableSet<T>

Představuje sadu prvků, které lze upravit pouze vytvořením nové instance sady.Represents a set of elements that can only be modified by creating a new instance of the set.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableStack<T>

Představuje neproměnlivou kolekci Last-in-first-out (LIFO).Represents an immutable last-in-first-out (LIFO) collection.

Balíček NuGet: System. Collections. unmutable (informace o neměnných kolekcích a způsobu jejich instalace)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Poznámky

U neměnných kolekcí můžete:With immutable collections, you can:

  • Sdílejte kolekci způsobem, že jeho příjemce může zajistit, že se kolekce nikdy nemění.Share a collection in a way that its consumer can be assured that the collection never changes.

  • Poskytněte implicitní bezpečnost vlákna v aplikacích s více vlákny (pro přístup ke kolekcím nejsou vyžadovány žádné zámky).Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • Sledujte postupy programovacího programování.Follow functional programming practices.

  • Během výčtu upravte kolekci a zajistěte, aby se původní kolekce nezměnila.Modify a collection during enumeration, while ensuring that the original collection does not change.

Neměnné třídy kolekce jsou k dispozici v rozhraní .NET Core a .NET 5 +, ale nejsou součástí základní knihovny tříd distribuované s .NET Framework.The immutable collection classes are available with .NET Core and .NET 5+, however they're not part of the core class library distributed with .NET Framework. Jsou k dispozici od .NET Framework 4,5 přes NuGet.They're available starting with .NET Framework 4.5 via NuGet.

Instalace neměnných kolekcí přes NuGet:To install the immutable collections via NuGet:

  1. Otevřete projekt v aplikaci Visual Studio a v nabídce projekt vyberte možnost Spravovat balíčky NuGet .Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. Volitelně zaškrtněte políčko zahrnout předběžné verze .Optionally, select the Include prerelease checkbox.

    Tato možnost umožňuje přístup k novým předprodejní verzi neměnných tříd, jakmile budou k dispozici.This option gives you access to new prerelease versions of the immutable classes, as they become available.

  3. Pomocí vyhledávacího pole vyhledejte balíček System. Collections. unmutableed .Use the Search box to locate the System.Collections.Immutable package.

  4. V levém podokně vyberte balíček System. Collections. unmutable .In the left pane, select the System.Collections.Immutable package. V pravém podokně vyberte požadovanou verzi a pak zvolte nainstalovat.In the right pane, select the desired version and then choose Install.

Výše popsané kroky instalace jsou pro Visual Studio 2015.The installation steps described above are for Visual Studio 2015. Pro jiné verze sady Visual Studio se tyto kroky mohou mírně lišit z důvodu rozdílů v uživatelském rozhraní (UI).For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).