C# Auflistung
In C#, dieCollection-Klasseist einespeziell für Datenspeicherung und -abruf verwendeteArt von Klasse.
Sammlungen ermöglichen es uns, eine Datenmenge einfach zu speichern, zu verwalten und zu bearbeiten, wie zum Beispiel:
- Zugriff auf Elemente in einer Liste über den Index;
- Zugriff auf Werte in einem Wörterbuch über den Schlüssel;
- Elemente dynamisch hinzufügen oder entfernen usw.
Auflistungsklassen unterstützen eine Vielzahl gängiger Datenstrukturen, wie z. B.:
- Stack— Last-In, First-Out-(LIFO)-Struktur;
- Queue— First-In, First-Out-(FIFO)-Struktur;
- List— eine geordnete Sequenz, die dynamisch erweitert werden kann;
- HashTable— Daten schnell über Schlüssel-Wert-Paare nachschlagen.
Darüber hinaus implementieren die meisten Auflistungsklassendieselbe Schnittstelle,
Das bedeutet, sie haben ähnliche Operationsmethoden, wie Hinzufügen, Entfernen, Iterieren und so weiter.
In frühen C#-Versionen wurden Elemente in Auflistungen typischerweise alsObjectder object-Typ gespeichert, und wir konnten beliebige Daten in die Auflistung aufnehmen, weil objectObjekte beliebigen Typs. Das liegt daran, dass in C#,Objectist die Basisklasse für alle Datentypen – obint、stringoder benutzerdefinierte Klassen, letztlich erben vonObject。
verschiedene Sammlungsklassen und ihre Verwendung
Nachfolgend sind verschiedene häufig verwendeteSystem.CollectionKlassen im Namespace aufgeführt. Klicken Sie unten auf den Link für Details.
| Klasse | Beschreibung und Verwendung |
|---|---|
| Dynamisches Array (ArrayList) | Es stellt eine geordnete Sammlung von [Objekten] dar, die einzeln perIndexangesprochen werden können. Es kann grundsätzlich ein Array ersetzen. Im Gegensatz zu Arrays können Sie jedochIndexverwenden, um Elemente an der angegebenen Position hinzuzufügen und zu entfernen, und das dynamische Array passt seine Größe automatisch an. Es ermöglicht außerdem dynamische Speicherzuweisung, Hinzufügen, Suchen und Sortieren von Elementen in der Liste. |
| Hashtable | es verwendetSchlüssel, um auf Elemente in der Sammlung zuzugreifen. Wenn Sie auf Elemente über Schlüssel zugreifen, verwenden Sie eine Hashtable, und Sie können einen nützlichen Schlüsselwert identifizieren. Jedes Element in einer Hashtable hat einSchlüssel/Wert-Paar. Schlüssel werden verwendet, um auf Elemente in der Sammlung zuzugreifen. |
| SortedList | Es kannSchlüsselundIndexverwenden, um auf Elemente in der Liste zuzugreifen. Eine sortierte Liste ist eine Kombination aus einem Array und einer Hashtable. Sie enthält eine Liste, deren Elemente über Schlüssel oder Index aufgerufen werden können. Wenn Sie auf Elemente per Index zugreifen, handelt es sich um ein dynamisches Array (ArrayList); wenn Sie auf Elemente per Schlüssel zugreifen, handelt es sich um eine Hashtable (Hashtable). Elemente in der Sammlung werden immer nach Schlüsselwert sortiert. |
| Stapel | Es stellt eineLast-in, first-out-Sammlung von Objekten dar. Wenn Sie Last-In-First-Out-Zugriff auf Elemente benötigen, verwenden Sie einen Stack. Wenn Sie der Liste ein Element hinzufügen, nennt man dasPusheines Elements, und wenn Sie ein Element aus der Liste entfernen, nennt man dasPopElement. |
| Warteschlange | Es repräsentiert eineFirst-In-First-OutSammlung von Objekten. Wenn Sie First-In-First-Out-Zugriff auf Elemente benötigen, verwenden Sie eine Warteschlange. Wenn Sie der Liste ein Element hinzufügen, nennt man dasEnqueue, und wenn Sie ein Element aus der Liste entfernen, nennt man dasDequeue。 |
| Bit-Array (BitArray) | Es repräsentiert einen Wert, der durch die Werte 1 und 0 ausgedrückt wird, einbinäresArray. Wenn Sie Bits speichern müssen, aber die Anzahl der Bits im Voraus nicht kennen, verwenden Sie ein Bit-Array. Sie könnenInteger Indexverwenden, um auf Elemente aus der Bit-Array-Sammlung zuzugreifen; der Index beginnt bei null. |