Forum: PC-Programmierung C# Dictionary


von CSharpUser (Gast)


Lesenswert?

Hallo, in einer Applikation werden Daten in ein Dictionary kopiert. Das 
Auslesen der einzelnen Werte bereitet mir sehr grosse Probleme. Wie 
könnte man auf den uint Wert zugreifen?
1
Dictionary<String, Dictionary<uint, AsnType>> result

von Georg B. (diereinegier)


Lesenswert?

Mit foreach kann man über den Dictionary iterieren und bekommt dann alle 
Key-Value-Paare.

Man kann auch direkt mit foreach über die Dictionary<...>.Keys eines 
Dictionary iterieren.



Ich hoffe, das reicht als Denkanstoß aus.

von CSharpUser (Gast)


Lesenswert?

Geht das auch ohne Iteration. Ich möchte einen bestimmten Wert auslesen.

von Keiner N. (nichtgast)


Lesenswert?

Was für ein fieses Ding.

Wie sehen denn deine Daten aus?


auslesen dann so:
1
result[keyword][keynumber]

wenn du dir mal alle keywords anzeigen lassen willst, dann
1
foreach(var one in result.Keys){
2
   Console.WriteLine(one);
3
}

von Freddy Frettchen (Gast)


Lesenswert?

CSharpUser schrieb:

> Wie könnte man auf den uint Wert zugreifen?
> Dictionary<String, Dictionary<uint, AsnType>> result

> Geht das auch ohne Iteration.

Nein, es handelt sich ja um den Schlüssel des inneren Dictionarys. 
Darauf kannst du nicht direkt (in O(1)) zugreifen.

von Sebastian L. (der_mechatroniker)


Lesenswert?

Mit welchem Ziel? U.u. kann es sinnvoll sein, ein zweites Dictionary 
anzulegen, welches die Daten in der umgekehrten Richtung zuordnet.

von Dieter (Gast)


Lesenswert?

Such mal nach LINQ, das erspart dir die foreach-Schleife.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.