Hallo Leute, ich hab neu mit C# angefangen, und hab langsam das Gefühl ich bin zu dämlich dafür 😕
Ich bearbeite eine Aufgabe mit folgendem Code:
Dictionary<string, int> people = new Dictionary<string, int>();
people.Add("Bob", 21);
people ["Johanna"] = 16;
Console.WriteLine(people[1]);
Ich möchte gern den Wert (value) von dem Key "Bob" in der Konsole ausgeben. Ich habe schon verschiedene Befehle ausprobiert und auch schon 2 Stunden erfolglos im Netz gesucht... Wahrscheinlich bin ich einfach blind.
Aktuell zeigt er mir den Fehler an, dass er int nicht zu string konvertieren kann. Das ist ja auch absolut legitim. Also habe ich es mit folgender Zeile versucht:
string age = people[1].ToString();
Doch die Fehlermeldung bleibt die selbe. Was kann ich tun, um mein Problem zu lösen?
Danke im Voraus, poke
Hallo,
Du versuchst auf das dictionary mit einem Index (people[1]) zuzugreifen. Das geht so nicht. Dictionarys arbeiten mit Keys, in deinem Fall "Bob" oder "Johanna".
Hallo pokespriter,
eben mit dem Key. Der Value an der Stelle des Dictionaries mit dem Key "x" ist "y".
Hats du dir das Dictionary mal angeschaut? Da hilft auch der [Artikel] Debugger: Wie verwende ich den von Visual Studio?
Dictionary<TKey,TValue> Class
[Hinweis] Bitte schau in die SDK-/MSDN-Doku
[Tipp] Schau in die Doku! - Möglichkeiten der Informationsgewinnung
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Der Value ist in deinem Fall nicht der Name, wie du vllt. vermutest sondern das alter.
Console.WriteLine(people["Johanna"]); würde 16 ausgeben.
Dictionary ist in deinem Fall nicht die richtige Klasse (wenn ich richtig vermute).
So könntest Du auch nur einen Bob oder eine Johanna haben. Soll ja Leute mit gleichem Vornamen geben 😉
Du solltest versuchen dir erstmal ein Grundlagen Buch vorzunehmen. Ansonsten endet das in großen Frust.
Grüße
Nein, ich wollte das Alter ausgeben 😉
also dankeschön für den Befehl, da hätte ich selbst drauf kommen müssen.
Dictionary verwende ich, weil ich einfach paar online-Aufgaben mache, wo das Anwenden von Dictionaries gefordert war. Leider wurde in den Hinweisen nicht erläutert, wie ich den Value ausgebe.
Dass der Dictionary bei mehreren Bobs und Johannas nicht genauso funktionieren kann, war mir bewusst, aber es ist nun mal von der Aufgabe gefordert 😄
Und was den Frust angeht: Ich versuche so viel wie möglich aus Online-Tutorials, durch eigenes ausprobieren und bereits gestellten Fragen in Foren mitzunehmen. Bin damit zunächst gut gefahren, aber manchmal findet man wohl selbst bei der simpelsten Frage nichts. Das was mir fehlt wäre einfach jemand, der sich mit C# auskennt, falls alles andere nicht hilft. Darum bin ich also hier 😉
Der erste Anlaufpunkt sollte trotzdem immer das eigenständige Besuchen der Dokumentation sein - für jedes Skill-Level.
Da haben Leute nicht umsonst Zeit investiert und i.d.R. allgemein verständliche Code-Beispiele erstellt 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Darum auch nochmal danke für die Links, gut möglich dass die mich in Zukunft noch retten 😄