Hallo liebes Forum!
Ich suche eine von folgenden zwei möglichkeiten:
eine performante(!) Klasse, deren Elemente sortiert sind (sorted list ist ja nur für key value pairs und ich weiß nicht ob performant)
eine möglichkeit die elemente eines hashset zu sortieren
wobei mir letzteres noch lieber wäre. Hat da jemand eine Idee? Meine Suche war bis jetzt erstaunlich erfolglos. Ich habe zwar die extension Methode OrderBy gefunden, aber die verlangt eine methode, die aus einem element den key extrahiert, was ich etwas merkwürdig finde..
HashSet kann nicht sortiert werden, ist ja schließlich eine Set, also eine Menge und sowas kann per definition nicht sortiert werden.
Die sinnvollste Variante: Verwende eine System.Collections.Generic.List und verwende die Methode Sort(IComparer<T> comparer) und implementiere deinen eigenen Sortieralgorithmus.
Wenn du Key/Value Paare brauchst, ist eine System.Collections.SortedDictionary deine Wahl, intern wird ein Binärbaum implementiert. Falls du es noch schneller willst, musst dir wohl oder übel selber einen Baum implementieren (zB einen Rot-Schwarz-Baum).
Hallo Bit2_Gosu,
eventuell findest du unter Wintellect's Power Collections for .NET oder The C5 Generic Collection Library eine entsprechendes fertiges Set.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...