System.Collections.Immutable Namnområde

Innehåller gränssnitt och klasser som definierar oföränderliga samlingar.

Klasser

Name Description
ImmutableArray

Innehåller metoder för att skapa en matris som är oföränderlig, vilket innebär att den inte kan ändras när den har skapats.

ImmutableArray<T>.Builder

Representerar en skrivbar matrisåtkomstor som kan konverteras till en ImmutableArray<T> instans utan att allokera extra minne.

ImmutableDictionary

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableDictionary<TKey,TValue> klassen.

ImmutableDictionary<TKey,TValue>.Builder

Representerar en hash-karta som muterar med lite eller inga minnesallokeringar och som kan producera eller bygga på oföränderliga hash-kartinstanser effektivt.

ImmutableDictionary<TKey,TValue>

Representerar en oföränderlig, osorterad samling nycklar och värden.

ImmutableHashSet

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableHashSet<T> klassen.

ImmutableHashSet<T>.Builder

Representerar en hash-uppsättning som muterar med lite eller inga minnesallokeringar och som kan generera eller bygga på oföränderliga hashuppsättningsinstanser effektivt.

ImmutableHashSet<T>

Representerar en oföränderlig, osorterad hashuppsättning.

ImmutableInterlocked

Innehåller sammankopplade utbytesmekanismer för oföränderliga samlingar.

ImmutableList

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableList<T> klassen.

ImmutableList<T>.Builder

Representerar en lista som muterar med lite eller inga minnesallokeringar och som kan producera eller bygga på oföränderliga listinstanser effektivt.

ImmutableList<T>

Representerar en oföränderlig lista, som är en starkt skriven lista över objekt som kan nås via index.

ImmutableQueue

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableQueue<T> klassen.

ImmutableQueue<T>

Representerar en oföränderlig kö.

ImmutableSortedDictionary

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableSortedDictionary<TKey,TValue> klassen.

ImmutableSortedDictionary<TKey,TValue>.Builder

Representerar en sorterad ordlista som muterar med lite eller inga minnesallokeringar och som kan skapa eller bygga på oföränderliga sorterade ordlisteinstanser effektivt.

ImmutableSortedDictionary<TKey,TValue>

Representerar en oföränderlig sorterad ordlista.

ImmutableSortedSet

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableSortedSet<T> klassen.

ImmutableSortedSet<T>.Builder

Representerar en sorterad uppsättning som möjliggör ändringar med liten eller ingen minnesallokering och effektivt manipulerar eller skapar oföränderliga sorterade uppsättningar.

ImmutableSortedSet<T>

Representerar en oföränderlig implementering av sorterade uppsättningar.

ImmutableStack

Innehåller en uppsättning initieringsmetoder för instanser av ImmutableStack<T> klassen.

ImmutableStack<T>

Representerar en oföränderlig stack.

Strukturer

Name Description
ImmutableArray<T>.Enumerator

Representerar en matrisuppräknare.

ImmutableArray<T>

Representerar en matris som inte kan ändras, vilket innebär att den inte kan ändras när den har skapats.

ImmutableDictionary<TKey,TValue>.Enumerator

Räknar upp innehållet i den oföränderliga ordlistan utan att allokera något minne.

ImmutableHashSet<T>.Enumerator

Räknar upp innehållet i den oföränderliga hashuppsättningen utan att allokera något minne.

ImmutableList<T>.Enumerator

Räknar upp innehållet i ett binärt träd.

ImmutableQueue<T>.Enumerator

Räknar upp innehållet i en oföränderlig kö utan att allokera något minne.

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Räknar upp innehållet i ett binärt träd.

ImmutableSortedSet<T>.Enumerator

Räknar upp innehållet i ett binärt träd.

ImmutableStack<T>.Enumerator

Räknar upp innehållet i en oföränderlig stack utan att allokera något minne.

Gränssnitt

Name Description
IImmutableDictionary<TKey,TValue>

Representerar en oföränderlig samling nyckel/värde-par.

IImmutableList<T>

Representerar en lista över element som inte kan ändras.

IImmutableQueue<T>

Representerar en oföränderlig första-i-först-ut-samling med objekt.

IImmutableSet<T>

Representerar en uppsättning element som bara kan ändras genom att skapa en ny instans av uppsättningen.

IImmutableStack<T>

Representerar en oföränderlig LIFO-samling (last-in-first-out).

Kommentarer

Med oföränderliga samlingar kan du:

  • Dela en samling på ett sätt som konsumenten kan vara säker på att samlingen aldrig ändras.
  • Ge implicit trådsäkerhet i program med flera trådar (inga lås krävs för att komma åt samlingar).
  • Följ funktionella programmeringsmetoder.
  • Ändra en samling under uppräkningen, samtidigt som du ser till att den ursprungliga samlingen inte ändras.