Sdílet prostřednictvím


System.Collections.Immutable Obor názvů

Obsahuje rozhraní a třídy, které definují neměnné kolekce.

Třídy

Name Description
ImmutableArray

Poskytuje metody pro vytvoření pole, které je neměnné, což znamená, že se po vytvoření nedá změnit.

ImmutableArray<T>.Builder

Představuje zapisovatelný maticový přístup, který lze převést na ImmutableArray<T> instanci bez přidělení nadbytečné paměti.

ImmutableDictionary

Poskytuje sadu inicializačních metod pro instance ImmutableDictionary<TKey,TValue> třídy.

ImmutableDictionary<TKey,TValue>.Builder

Představuje mapu hash, která se ztlumí s malým nebo žádným přidělením paměti a která může efektivně vytvářet nebo sestavovat na neměnných instancích mapování hash.

ImmutableDictionary<TKey,TValue>

Představuje neměnnou, neuspořádanou kolekci klíčů a hodnot.

ImmutableHashSet

Poskytuje sadu inicializačních metod pro instance ImmutableHashSet<T> třídy.

ImmutableHashSet<T>.Builder

Představuje sadu hodnot hash, která se ztlumí s malým nebo žádným přidělením paměti a která může efektivně vytvářet nebo vytvářet instance neměnných sad hash.

ImmutableHashSet<T>

Představuje neměnnou, neuspořádanou sadu hodnot hash.

ImmutableInterlocked

Obsahuje mechanismy vzájemné výměny pro neměnné kolekce.

ImmutableList

Poskytuje sadu inicializačních metod pro instance ImmutableList<T> třídy.

ImmutableList<T>.Builder

Představuje seznam, který se ztlumí s malým nebo žádným přidělením paměti a který může efektivně vytvářet nebo vytvářet instance neměnných seznamů.

ImmutableList<T>

Představuje neměnný seznam, což je seznam objektů silného typu, ke kterým má index přístup.

ImmutableQueue

Poskytuje sadu inicializačních metod pro instance ImmutableQueue<T> třídy.

ImmutableQueue<T>

Představuje neměnnou frontu.

ImmutableSortedDictionary

Poskytuje sadu inicializačních metod pro instance ImmutableSortedDictionary<TKey,TValue> třídy.

ImmutableSortedDictionary<TKey,TValue>.Builder

Představuje seřazený slovník, který se ztlumí s malým nebo žádným přidělením paměti a který dokáže efektivně vytvářet nebo vytvářet neměnné instance seřazeného slovníku.

ImmutableSortedDictionary<TKey,TValue>

Představuje neměnný seřazený slovník.

ImmutableSortedSet

Poskytuje sadu inicializačních metod pro instance ImmutableSortedSet<T> třídy.

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ě manipuluje nebo vytváří neměnné seřazené sady.

ImmutableSortedSet<T>

Představuje neměnnou implementaci seřazené sady.

ImmutableStack

Poskytuje sadu inicializačních metod pro instance ImmutableStack<T> třídy.

ImmutableStack<T>

Představuje neměnný zásobník.

Struktury

Name Description
ImmutableArray<T>.Enumerator

Představuje enumerátor pole.

ImmutableArray<T>

Představuje pole, které je neměnné, což znamená, že se po vytvoření nedá změnit.

ImmutableDictionary<TKey,TValue>.Enumerator

Vytvoří výčet obsahu neměnného slovníku bez přidělení jakékoli paměti.

ImmutableHashSet<T>.Enumerator

Vytvoří výčet obsahu neměnné sady hash bez přidělení jakékoli paměti.

ImmutableList<T>.Enumerator

Vytvoří výčet obsahu binárního stromu.

ImmutableQueue<T>.Enumerator

Vytvoří výčet obsahu neměnné fronty bez přidělení jakékoli paměti.

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Vytvoří výčet obsahu binárního stromu.

ImmutableSortedSet<T>.Enumerator

Vytvoří výčet obsahu binárního stromu.

ImmutableStack<T>.Enumerator

Vytvoří výčet obsahu neměnného zásobníku bez přidělení jakékoli paměti.

Rozhraní

Name Description
IImmutableDictionary<TKey,TValue>

Představuje neměnnou kolekci párů klíč/hodnota.

IImmutableList<T>

Představuje seznam prvků, které nelze upravit.

IImmutableQueue<T>

Představuje neměnnou kolekci objektů typu first-in, first-out.

IImmutableSet<T>

Představuje sadu prvků, které lze upravit pouze vytvořením nové instance sady.

IImmutableStack<T>

Představuje neměnnou kolekci typu last-in-first-out (LIFO).

Poznámky

Pomocí neměnných kolekcí můžete:

  • Sdílejte kolekci způsobem, který může mít uživatel jistotu, že se kolekce nikdy nezmění.
  • Zajištění implicitní bezpečnosti vláken v aplikacích s více vlákny (pro přístup k kolekcím není nutné žádné zámky).
  • Dodržujte funkční programovací postupy.
  • Upravte kolekci během výčtu a ujistěte se, že se původní kolekce nezmění.