Entwickler-Ecke
Basistechnologien - Dictionary sortieren?
iGoofy - Fr 20.11.09 12:05
Titel: Dictionary sortieren?
Kann ich ein Dictionary<int,string> nach der Länge des Strings sortieren?
Länge auslesen bekomme ich hin, aber das einfügen ( á la Dictionary.Replace(int old,int new)) fehlt mir irgendwie?!
Brauche den Key für eine spätere Anwendung, deshalb Dictionary.
Grüße
Torsten
Kha - Fr 20.11.09 21:02
@iGoofy & JüTho: Dictionary kennt überhaupt keine Art von Sortierung, weder Standard- noch eigene ;) . Aber es geht wohl eher um die
Indizierung.
iGoofy hat folgendes geschrieben : |
| Brauche den Key für eine spätere Anwendung, deshalb Dictionary. |
Du brauchst ihn aber anscheinend nicht
als Key, sondern nur als Datum. Also ab in
Value damit:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Dictionary<int, KeyValuePair<int, string>> pairsByStringLength = ...
void Add(int i, string s) { pairsByStringLength.Add(s.Length, new KeyValuePair(i, s)); }
Add(42, "hi!");
pairsByStringLength[3].Key; |
Die Strings müssen natürlich alle unterschiedliche Längen haben, ansonsten ist Dictionary die falsche Datenstruktur.
JüTho - Sa 21.11.09 11:26
Kha hat folgendes geschrieben : |
| @iGoofy & JüTho: Dictionary kennt überhaupt keine Art von Sortierung, weder Standard- noch eigene ;) . Aber es geht wohl eher um die Indizierung. |
So meinte ich es auch: Mit
for oder
foreach bekommt man die Daten in einer bestimmten Reihenfolge.
Oops, "Reihenfolge" ist fast ein Synonym für "Sortierung". Aber die gewünschte Reihenfolge geht auf jeden Fall nur mit einer zusätzlichen Maßnahme. Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!