Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wert eines Dictionaries an einer bestimmten Stelle ausgeben
pokespriter
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

Wert eines Dictionaries an einer bestimmten Stelle ausgeben

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden

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".
private Nachricht | Beiträge des Benutzers
pokespriter
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Aber wie kann ich den Value ausgeben?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von pokespriter am .
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2461
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
pokespriter
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

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 :D

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 ;)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16103

beantworten | zitieren | melden

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 - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
pokespriter
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Darum auch nochmal danke für die Links, gut möglich dass die mich in Zukunft noch retten :D
private Nachricht | Beiträge des Benutzers