Entwickler-Ecke
Basistechnologien - Sorted List
daniel_sudy - Di 15.01.08 21:16
Titel: Sorted List
Guten Tag, ich habe folgendes Problem.
Ich füttere eine Sorted List mit einem key(int) und einem value(string)1 Nun reiht mir die sorted list die int werte des keys nach aufsteigender Flanke! Sprich beginnend mit dem kleinsten Wert!
Nun mein Problem! Ich benötige die Ausgabe aber vom größten Wert bis zum kleinsten Wert!
Gibt es irgendwo eine Möglichkeit die Liste Umzudrehen!
mfg Daniel Sudy
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am Di 15.01.2008 um 20:28
Christian S. - Di 15.01.08 21:28
Hallo!
Habe selber noch nicht damit gearbeitet, aber der Konstruktor sieht so aus, als könne man ihm einen eigenen Comparer übergeben, der dann also genau umgekehrt funktionieren kann.
Grüße
Christian
Robert_G - Di 15.01.08 23:04
Christian S. hat folgendes geschrieben: |
Habe selber noch nicht damit gearbeitet, aber der Konstruktor sieht so aus, als könne man ihm einen eigenen Comparer übergeben, der dann also genau umgekehrt funktionieren kann. |
Jupp, ich hasse Klassen, die keine Delegates unterstützen, auch wenn es definitiv Sinn gemacht hätte
@Daniel, das kannst du dir zukünftig hiermit vereinfachen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public sealed class WrappedComparer<T> : IComparer<T> { readonly Comparison<T> comparison;
public WrappedComparer(Comparison<T> comparison) { this.comparison = comparison; }
int IComparer<T>.Compare(T x, T y) { return comparison(x, y); } } |
Nun geht das:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| IComparer<int> reverseIntComparer = new WrappedComparer<int>(delegate(int left, int right) { return -left.CompareTo(right); });
SortedList<int, string> list = new SortedList<int, string>(reverseIntComparer);
list.Add(1, "a"); list.Add(2, "b"); list.Add(3, "c"); list.Add(4, "d"); |
Die Liste sollte jetzt die Element verkehrtrum enthalten.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!