(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Häufig verwendete Auflistungstypen

Auflistungstypen sind die allgemeinen Variationen von Datenauflistungen, z. B. Hashtabellen, Warteschlangen, Stapel, Sammlungen, Wörterbücher und Listen.

Auflistungen basieren auf der ICollection-Schnittstelle, der IList-Schnittstelle, der IDictionary-Schnittstelle oder auf ihren generischen Entsprechungen. Die IList-Schnittstelle und die IDictionary-Schnittstelle leiten sich beide aus der ICollection-Schnittstelle ab. Daher basieren alle Auflistungen direkt oder indirekt auf der ICollection-Schnittstelle. In Auflistungen, die auf der IList-Schnittstelle basieren (zum Beispiel Array, ArrayList oder List<T>) oder direkt auf der ICollection-Schnittstelle (zum Beispiel Queue, ConcurrentQueue<T>, Stack, ConcurrentStack<T> oder LinkedList<T>), enthält jedes Element nur einen Wert. In Auflistungen, die auf der IDictionary-Schnittstelle basieren (zum Beispiel die Klassen Hashtable und SortedList, die generischen Klassen Dictionary<TKey, TValue> und SortedList<TKey, TValue>), oder die auf den ConcurrentDictionary<TKey, TValue>-Klassen basieren, enthält jedes Element einen Schlüssel und einen Wert. Die KeyedCollection<TKey, TItem>-Klasse ist eindeutig, da sie eine Liste von Werten mit Schlüsseln darstellt, die in den Werten eingebettet sind. Deshalb verhält sie sich wie eine Liste und wie ein Wörterbuch.

Generische Auflistungen sind die beste Lösung für eine starke Typisierung. Wenn Ihre Sprache allerdings keine generischen Auflistungen unterstützt, enthält der System.Collections-Namespace Basisauflistungen, zum Beispiel CollectionBase, ReadOnlyCollectionBase und DictionaryBase. Dabei handelt es sich um abstrakte Basisklassen, die erweitert werden können, um Auflistungsklassen zu erstellen, die stark typisiert sind. Beim effizienter Zugriff auf Multithreadauflistungen erforderlich ist, verwenden Sie die generischen Auflistungen im System.Collections.Concurrent-Namespace.

Auflistungen können variieren, je nachdem, wie die Elemente gespeichert werden, wie sie sortiert werden, wie Suchvorgänge ausgeführt werden und wie Vergleiche vorgenommen werden. Die Queue-Klasse und die generische Queue<T>-Klasse stellen First-in-First-Out-Listen bereit, während die Stack-Klasse und die generische Stack<T>-Klasse Last-in-First-Out-Listen bereitstellen. Die SortedList-Klasse und die generische SortedList<TKey, TValue>-Klasse stellen sortierte Versionen der Hashtable-Klasse und der generischen Dictionary<TKey, TValue>-Klasse bereit. Der Zugriff auf die Elemente einer Hashtable oder Dictionary<TKey, TValue> ist nur über den Schlüssel des Elements möglich, aber der Zugriff auf Elemente einer SortedList oder KeyedCollection<TKey, TItem> ist über den Schlüssel oder den Index des Elements möglich. Die Indizes in allen Auflistungen sind nullbasiert, mit Ausnahme von Array, wodurch auch Arrays, die nicht nullbasiert sind, zulässig sind.

Mit der LINQ to Objects-Funktion können Sie LINQ-Abfragen für den Zugriff auf Objekte im Arbeitsspeicher verwenden, solange der Objekttyp IEnumerable oder IEnumerable<T> implementiert. LINQ-Abfragen bieten ein allgemeines Muster für den Datenzugriff, sind normalerweise präziser und besser lesbar als standardmäßige foreach-Schleifen und stellen Filter-, Sortier- und Gruppierungsfunktionen bereit. LINQ-Abfragen können auch die Leistung verbessern. Weitere Informationen finden Sie unter LINQ-zu-Objekte und Paralleles LINQ (PLINQ).

Titel

Beschreibung

Hashtable-Auflistungstyp und Dictionary-Auflistungstyp

Beschreibt die Features von generischen und nicht generischen hashbasierten Wörterbuchtypen.

Sortierte Auflistungstypen

Beschreibt Klassen, die Sortierfunktionen für Listen und Sätze bereitstellen.

HashSet-Auflistungstyp

Beschreibt den generischen System.Collections.Generic.HashSet<T>-Auflistungstyp.

Auflistungen und Datenstrukturen

Erläutert die unterschiedlichen Auflistungstypen, die in .NET Framework verfügbar sind, z. B. Stapel, Warteschlangen, Listen, Arrays und Strukturen.

Generika in .NET Framework

Beschreibt das Generikafeature, einschließlich der generischen Auflistungen, Delegaten und Schnittstellen, die von .NET Framework bereitgestellt werden. Enthält Links zur Featuredokumentation für C#, Visual Basic und Visual C++ sowie zu unterstützenden Technologien wie der Reflektion.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft