10. Dictionary
Im Kapitel 8. Arrays hast du bereits eine Datenstruktur-Variante kennengelernt, die Werte einem Index zuordnet und so zugänglich macht. Wir sprechen das Array also mit einem Index an und bekomme so den entsprechenden Wert zurück. Nun, wie wäre es, wenn wir selbst definieren könnten, was wir als Index haben möchten. Etwa einen String. Dafür gibt es das Dictionary. Mit einem Dictionary könne wir selbst entscheiden, ob wir mit einem String, oder int auf die Werte zugreifen.
Beim Erstellen eines Dictionarys müssen wir zunächst mal den
Key (Schlüssel) und das Value (Wert) definieren. Gehe zudem sicher, dass du die
System.Collections.Generic; importiert hast. Du findest
die Importe ab Zeile 1 zu Oberst im Code.
using System.Collections.Generic;
10.1 Dictionary erstellen
In unserem Beispiel kannst du erkennen, dass wir uns sowohl als Key wie auch als Value für den String entschieden haben. Key und Value werden in den spitzen Klammern definiert. Um das Dictionary ansprechen zu können, müssen wir uns für einen Namen entscheiden. Dieser befindet sich wie gewohnt links vom Gleichheitszeichen. In unserem Fall haben wir das Dictionary uebersetzungen genannt, weil wir darin Übersetzungen von Deutsch auf Englisch abspeichern wollen.
Dictionary<string, string> uebersetzungen = new Dictionary<string, string>();
10.2 Dictionary füllen
Werte in ein Dictionary abspeichern könne wir wie folgt, indem wir die .Add Methode nutzen und ihr den Key und das Value mitgeben. In diesem Fall setzen wir als Key “Baum“ und als Value die englische Übersetzung “Tree“.
uebersetzungen.Add("Baum", "Tree");
10.3 Werte aus Dictionary lesen
Anhand des folgenden Beispiels siehst du, wie einfach sich Werte aus einem Dictionary entnehmen lassen. Dafür brauchen wir lediglich das Dictionary mit seinem Namen ansprechen und den entsprechenden Key (Schlüssel) anzugeben. Im Beispiel wird aus dem Dictionary uebersetzungen der Wert mit dem Key “Baum“ entnommen und auf der Konsole ausgegeben.
Console.WriteLine(uebersetzungen["Baum"]);
10.4 Werte aus einem Dictionary löschen
Um einen Wert aus einem Dictionary zu löschen, gibt es die uns schon bekannte Remove Methode. Dafür müssen wir das Dictionary mit seinem Namen ansprechen und in die Remove Methode den zu löschenden Key mitgeben.
uebersetzungen.Remove("Baum");