Laden...

Wert eines Dictionaries an einer bestimmten Stelle ausgeben

Erstellt von pokespriter vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.610 Views
P
pokespriter Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren
Wert eines Dictionaries an einer bestimmten Stelle ausgeben

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

849 Beiträge seit 2006
vor 6 Jahren

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".

P
pokespriter Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

Aber wie kann ich den Value ausgeben?

2.207 Beiträge seit 2011
vor 6 Jahren

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

849 Beiträge seit 2006
vor 6 Jahren

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

P
pokespriter Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

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 😉

16.806 Beiträge seit 2008
vor 6 Jahren

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 😉

P
pokespriter Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

Darum auch nochmal danke für die Links, gut möglich dass die mich in Zukunft noch retten 😄