System.Collections.Immutable Namespace

Der System.Collections.Immutable-Namespace enthält Schnittstellen und Klassen, die unveränderliche Auflistungen definieren. The System.Collections.Immutable namespace contains interfaces and classes that define immutable collections. Diese Klassen werden ab .NET Framework 4.5.NET Framework 4.5 unterstützt. These classes are supported starting with .NET Framework 4.5.NET Framework 4.5. Verwenden Sie sie zum Erstellen von Desktop-, Windows StoreWindows Store-, Portable KlassenbibliothekPortable Class Library- und Windows Phone 8-Apps. Use them to build apps that target the desktop, Windows StoreWindows Store, Portable KlassenbibliothekPortable Class Library and Windows Phone 8.

Klassen

ImmutableArray

Stellt Methoden zum Erstellen eines Arrays bereit, das unveränderlich ist. Dies bedeutet, dass es nach der Erstellung nicht mehr geändert werden kann.Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>.Builder

Eine beschreibbare Arrayzugriffsmethode, der in eine ImmutableArray<T>-Instanz konvertiert werden kann, ohne zusätzlichen Speicher zu belegen.A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableDictionary<TKey,TValue> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Builder

Stellt eine Hashzuordnung dar, die mit wenigen oder gar keinen Speicherbelegungen geändert wird und sehr effizient unveränderliche Hashzuordnungsinstanzen produzieren oder erstellen kann.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.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>

Stellt eine unveränderliche unsortierte Auflistung von Schlüsseln und Werten dar.Represents an immutable, unordered collection of keys and values.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableHashSet<T> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Builder

Stellt ein Hashset dar, das mit wenigen oder gar keinen Speicherbelegungen geändert wird und sehr effizient Instanzen unveränderlicher Hashsets erzeugen oder darauf aufbauen kann.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.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>

Stellt ein unveränderliches unsortiertes Hashset dar.Represents an immutable, unordered hash set.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableInterlocked

Enthält ineinandergreifende Austauschmechanismen für unveränderliche Auflistungen.Contains interlocked exchange mechanisms for immutable collections.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableList<T> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableList<T> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Builder

Stellt eine Liste dar, die mit wenigen oder gar keinen Speicherbelegungen geändert wird und sehr effizient Instanzen unveränderlicher Listen erzeugen oder darauf aufbauen kann.Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>

Stellt eine unveränderliche Liste dar, bei der es sich um eine stark typisierte Liste von Objekten handelt, auf die über einen Index zugegriffen werden kann.Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableQueue<T> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>

Stellt eine unveränderliche Warteschlange dar.Represents an immutable queue.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableSortedDictionary<TKey,TValue> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Builder

Stellt ein sortiertes Wörterbuch dar, das mit wenigen oder gar keinen Speicherbelegungen geändert wird und das sehr effizient unveränderlich sortierte Wörterbuch-Instanzen produzieren oder auf ihnen aufbauen kann.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.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>

Stellt ein unveränderlich sortiertes Wörterbuch dar.Represents an immutable sorted dictionary.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableSortedSet<T> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Builder

Stellt eine sortierte Gruppe dar, die Änderungen mit wenig oder keinen Speicherbelegungen ermöglicht und unveränderlich sortierte Gruppen effizient bearbeitet oder erstellt.Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>

Stellt die Implementierung einer unveränderlichen sortierten Gruppe dar.Represents an immutable sorted set implementation.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack

Stellt eine Reihe von Initialisierungsmethoden für Instanzen der ImmutableStack<T> Klasse bereit.Provides a set of initialization methods for instances of the ImmutableStack<T> class.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>

Stellt einen unveränderlichen Stapel dar.Represents an immutable stack.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Strukturen

ImmutableArray<T>.Enumerator

Ein Array-Enumerator.An array enumerator.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>

Stellt ein Array dar, das unveränderlich ist; was bedeutet, dass es nach Erstellung nicht mehr geändert werden kann.Represents an array that is immutable; meaning it cannot be changed once it is created.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Enumerator

Listet den Inhalt des unveränderlichen Wörterbuchs auf, ohne Arbeitsspeicher zuzuweisen.Enumerates the contents of the immutable dictionary without allocating any memory.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Enumerator

Listet den Inhalt des unveränderlichen Hashsets auf, ohne Arbeitsspeicher zuzuweisen.Enumerates the contents of the immutable hash set without allocating any memory.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Enumerator

Listet den Inhalt einer binären Struktur auf.Enumerates the contents of a binary tree.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>.Enumerator

Listet den Inhalt von einer unveränderlichen Warteschlange auf, ohne Arbeitsspeicher zuzuweisen.Enumerates the contents of an immutable queue without allocating any memory.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Listet den Inhalt einer binären Struktur auf.Enumerates the contents of a binary tree.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Enumerator

Listet den Inhalt einer binären Struktur auf.Enumerates the contents of a binary tree.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>.Enumerator

Listet den Inhalt von einem unveränderlichen Stapel auf, ohne Arbeitsspeicher zuzuweisen.Enumerates the contents of an immutable stack without allocating any memory.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Schnittstellen

IImmutableDictionary<TKey,TValue>

Stellt eine unveränderliche Auflistung von Schlüssel-Wert-Paaren dar.Represents an immutable collection of key/value pairs.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableList<T>

Stellt eine Liste von Elementen dar, die nicht geändert werden kann.Represents a list of elements that cannot be modified.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableQueue<T>

Stellt eine unveränderliche FIFO-Auflistung (First-In-First-Out) von Objekten dar.Represents an immutable first-in, first-out collection of objects.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableSet<T>

Stellt eine Gruppe von Elementen dar, die nur durch Erstellen einer neuen Instanz der Gruppe geändert werden kann.Represents a set of elements that can only be modified by creating a new instance of the set.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableStack<T>

Stellt eine unveränderliche LIFO (Last-In-First-Out)-Auflistung dar.Represents an immutable last-in-first-out (LIFO) collection.

NuGet-Paket: System.Collections.Immutable (Grundlegendes zu unveränderlichen Collections und deren Installation)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Hinweise

Mit unveränderlichen Auflistungen haben Sie folgende Möglichkeiten:With immutable collections, you can:

  • Freigeben einer Auflistung in einer Weise, die der Consumer sichergestellt werden kann, dass die Auflistung nie geändert wird.Share a collection in a way that its consumer can be assured that the collection never changes.

  • Bereitstellen impliziter Threadsicherheit in Multithreaded-Anwendungen (keine Sperren für den Zugriff auf Auflistungen erforderlich)Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • Einhalten funktionaler ProgrammierstileFollow functional programming practices.

  • Ändern einer Auflistung während der Enumeration, wobei sichergestellt wird, dass sich die ursprüngliche Auflistung nicht ändertModify a collection during enumeration, while ensuring that the original collection does not change.

Die unveränderlichen Auflistungsklassen werden mit .NET Core verfügbar, jedoch nicht Teil der Kernklassenbibliothek, die mit .NET Framework sind.The immutable collection classes are available with .NET Core, however they're not part of the core class library distributed with the .NET Framework. Sie sind seit .NET Framework 4.5 über NuGet verfügbar.They're available starting with the .NET Framework 4.5 via NuGet.

So installieren Sie die unveränderlichen Auflistungen über NuGet:To install the immutable collections via NuGet:

  1. Öffnen Sie Ihr Projekt in Visual Studio, und wählen Sie NuGet-Pakete verwalten aus der Projekt Menü.Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. Wählen Sie optional die Vorabversion einbeziehen Kontrollkästchen.Optionally, select the Include prerelease checkbox. Diese Option ermöglicht Ihnen den Zugriff auf neue Vorabversionen der unveränderlichen Klassen, sobald sie verfügbar sind.This option will give you access to new prerelease versions of the immutable classes, as they become available.

  3. Verwenden der Suche Sie suchen den System.Collections.Immutable Paket.Use the Search box to locate the System.Collections.Immutable package.

  4. Wählen Sie im linken Bereich die System.Collections.Immutable Paket.In the left pane, select the System.Collections.Immutable package. Klicken Sie im rechten Bereich Wählen Sie die gewünschte Version aus, und wählen Sie dann auf installieren.In the right pane, select the desired version and then choose Install.

Die oben beschriebenen Installationsschritte sind für Visual Studio 2015.The installation steps described above are for Visual Studio 2015. Für andere Versionen von Visual Studio möglicherweise aufgrund von Unterschieden in der Benutzeroberfläche (UI) die Schritte etwas anders sein.For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).