Ein Wörterbuch ist eine nützliche Datenstruktur, mit der Sie Schlüssel-Wert-Paare speichern können. Sie können effizient auf einen Wert aus dem Wörterbuch zugreifen, indem Sie seinen Schlüssel verwenden.
Wörterbücher in C# unterstützen Aktionen wie das Entfernen eines Werts oder das Iterieren über den gesamten Satz von Werten.
Was ist ein Wörterbuch in C#?
Ein C#-Wörterbuch ist eines davon die wichtigsten Datenstrukturen man kann sich darüber informieren. Es ist ein bisschen wie die Java HashMap-Datenstruktur. Seine Schlüssel müssen eindeutig sein, aber sie können von fast jedem Typ sein. Ein einfaches Wörterbuch verwendet skalare Werte.
Dieses Dataset hat beispielsweise die ID eines Haustiers als Schlüssel und den Namen des Haustiers als Wert:
{1001, "Mia"},
{1002, "Oskar"},
{1003, "Vögelchen"},
{1004, "Bluey"},
{1005, "Löwe"},
{1006, "Travis"}
Diese Struktur ermöglicht Ihnen den Zugriff auf Daten unter Verwendung des bestimmten Schlüssels, der auf einen Datensatz verweist. Beispielsweise können Sie den Datensatz mit dem Wert abrufen
Vogel indem Sie mit dem Nachschlageschlüssel darauf verweisen 1003.So erstellen Sie ein Wörterbuch
Um ein Wörterbuch zu erstellen, müssen Sie den Objekttyp sowohl für den Schlüssel als auch für den Wert angeben.
- Erstellen Sie das Wörterbuch. In diesem Beispiel ist der Schlüssel eine Ganzzahl und der Wert für jeden Datensatz eine Zeichenfolge.
Wörterbuch<int, Schnur> Haustiere = Neu Wörterbuch<int, Schnur>();
- Sie müssen die verwenden System. Sammlungen. Generisch Namespace, der die Dictionary-Klasse enthält. Stellen Sie sicher, dass Sie dies oben in Ihrer Datei tun:
verwenden System. Sammlungen. Generisch;
So fügen Sie Elemente zum Wörterbuch hinzu
Sie können während oder nach der Initialisierung Elemente zum Wörterbuch hinzufügen.
- Sie können Elemente hinzufügen, während Sie das Wörterbuch initialisieren. Fügen Sie dazu einige Werte in geschweiften Klammern nach der anfänglichen neuen Dictionary-Anweisung hinzu.
Wörterbuch<int, Schnur> Haustiere = Neu Wörterbuch<int, Schnur>()
{
{1001, "Mia"},
{1002, "Oskar"},
{1003, "Vögelchen"},
{1004, "Bluey"},
{1005, "Löwe"},
{1006, "Travis"}
}; - Wenn Sie das Wörterbuch bereits erstellt haben, können Sie die integrierte Add()-Methode des Wörterbuchs verwenden.
Haustiere. Hinzufügen(1007, "Schneebedeckt");
Sie können einem bereits vorhandenen Schlüssel keinen Wert hinzufügen. Wenn Sie dies versuchen, erhalten Sie eine ArgumentException.
Sie können a nicht verwenden Null value als Schlüssel für einen Eintrag in einem Dictionary. Sie können jedoch einen Nullwert in einem Wörterbuch speichern.
So fügen Sie Objekte zum Wörterbuch hinzu
Wenn Sie ein o verwendenObjektorientierte Programmierung Stil haben Sie wahrscheinlich mindestens eine Klasse, mit der Sie Objekte erstellen. Angenommen, Sie hatten eine Klasse, in der Details zu Haustieren gespeichert wurden:
Sie können aus dieser Klasse erstellte Objekte zu einem Wörterbuch hinzufügen.
- Stellen Sie sicher, dass Sie das Wörterbuch mit dem Pet-Objekttyp erstellen, der für den Wert angegeben ist.
Wörterbuch<int, Pet> petObjects = Neu Wörterbuch<int, Haustier>();
- Erstellen Sie Ihr Haustierobjekt.
Pet mia = Neu Haustier(1001, "Mia", Neu Terminzeit(2010, 6, 29), 9.0,
Neu Terminzeit(2022, 05, 02)); - Fügen Sie das neue Pet-Objekt zum Wörterbuch hinzu.
petObjects. Hinzufügen(1001, mia);
So greifen Sie auf ein Element im Wörterbuch zu
Mit der Taste können Sie auf ein Element im Wörterbuch zugreifen.
- Verwenden Sie den Variablennamen für das Wörterbuch, gefolgt von dem Schlüssel in eckigen Klammern. Dadurch wird das in diesem bestimmten Teil des Wörterbuchs gespeicherte Objekt zurückgegeben.
Var pet = petObjects[1001];
Konsole. WriteLine (pet.name);
So iterieren Sie über das Wörterbuch
Sie können eine verwenden für jede Schleife zum Durchlaufen eines Wörterbuchs:
- Verwenden Sie foreach, um über jedes KeyValuePair im Wörterbuch zu iterieren. Angenommen, Sie haben Ihren Iterator aufgerufen Eintrag, können Sie mit auf Schlüssel und Wert zugreifen Eintrag. Taste und Eintrag. Wert.
für jede (SchlüsselWertPaar<int, Pet> Eintrag in petObjects)
{
// Schlüssel drucken
Konsole. WriteLine (Eintrag. Taste);// Den Namen des Objekts für diesen Datensatz ausgeben
Konsole. WriteLine (Eintrag. Wert.name);
}
So aktualisieren Sie ein Element in einem Wörterbuch
Sie können ein Element aktualisieren, indem Sie seinen Wert im Wörterbuch überschreiben.
- Wenn Sie einfache Objekttypen in Ihrem Wörterbuch haben, können Sie einen Wert eines Datensatzes direkt überschreiben.
Haustiere[1001] = "Maya";
- Wenn Sie Ihrem Wörterbuch Objekte hinzugefügt haben, können Sie einen Wert in ein komplett neues Objekt überschreiben.
Haushase = Neu Haustier(1001, "Hase", Neu Terminzeit(2021, 8, 1), 3.0, Neu Terminzeit(2021, 8, 4));
petObjects[1001] = Hase; - Wenn Sie ein Objekt im Wörterbuch haben, können Sie auch eine einzelne Eigenschaft aktualisieren. Sie können den Wert der Eigenschaft direkt überschreiben oder einen Setter verwenden.
petObjects[1001].name = "Maya";
// ODER
petObjects[1001].setName("Maya");
So löschen Sie ein Element in einem Wörterbuch
Sie können wählen, ob Sie ein einzelnes Element oder alle Elemente löschen möchten.
- Um ein einzelnes Element zu löschen, verwenden Sie die eingebaute Remove()-Methode des Wörterbuchs. Geben Sie als Argument den Schlüssel des Datensatzes ein, den Sie löschen möchten.
petObjects. Entfernen(1002);
- Um alle Elemente im Wörterbuch zu löschen, verwenden Sie die eingebaute Clear()-Methode des Wörterbuchs
petObjects. Klar();
Datenstrukturen in C#
In diesem Tutorial wurde beschrieben, wie Sie ein Wörterbuch in C# erstellen und Elemente zum Wörterbuch hinzufügen. Darüber hinaus wurde auch behandelt, wie das Wörterbuch aktualisiert, gelöscht und durchlaufen wird.
Wenn Sie Ihr Datenstrukturvokabular verbessern möchten, können Sie damit beginnen, fortgeschrittenere Datenstrukturen zu erkunden. Einige Beispiele hierfür sind der Fibonacci-Heap, der AVL-Baum oder der Red Black Tree.
3 Fortgeschrittene Datenstrukturen, die jeder Programmierer kennen sollte
Lesen Sie weiter
Verwandte Themen
- Programmierung
- Wörterbuch
- Programmierung
Über den Autor
Sharlene ist Tech Writer bei MUO und arbeitet auch Vollzeit in der Softwareentwicklung. Sie hat einen Bachelor of IT und hat bereits Erfahrung in der Qualitätssicherung und Universitätsnachhilfe. Sharlene liebt Spiele und spielt Klavier.
Abonnieren Sie unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Klicken Sie hier, um sich anzumelden