Verständnisfrage SortedList und IComparable



  • Hallo zusammen,
    gibt es Möglichkeiten eine SortedList ähnlich zu verwenden wie std::set<Object> aus der STL von C++

    Gruß
    LordX



  • Kannst Du die Verwendung von std::set<Object> kurz erklären bzw. kannst Du Dein Problem genauer beschreiben?



  • Hallo,

    ..nun, ich möchte durch überladen des operators < eine Sortierung vorgeben, so dass eine Aufruf

    List.insert(Object)
    

    mir das Object so einfügt das die Liste sortiert bleibt

    Ich weiss das die SortedList die Methode

    SortedList.Add(HashCode,Object)
    

    zur Verfügung stellt, jedoch weiss ich nicht wie ich den Hashcode bei einer komplexeren Sortierreiehnfolge ermitteln soll
    Auch gibt es die Möglichkeit ein Array über Methode sort(SortClass) zu sortieren, ich möchte die Elemente aber schon beim Einfügen sortieren.

    Ich hoffe es war einigermassen verständlich

    Gruß
    LordX



  • Die Elemente einer SortedList sind nach Schlüsseln sortiert: entweder entsprechend einer bestimmten, beim Erstellen der SortedList angegebenen IComparer-Implementierung, oder entsprechend der von den Schlüsseln selbst bereitgestellten IComparable-Implementierung. In beiden Fällen lässt SortedList keine doppelten Schlüssel zu.

    Quelle

    Suchst Du sowas?



  • So wie ich dich verstanden habe, möchte die SortedList ICompareable-Elemente aufnehmen. Dann lass doch deine Klassen dieses Interface implementieren und gut is.

    Vielleicht findest du auch eine SortedList, die das mit '<' kann. Aber ich werde das jetzt nicht für dich recherchieren. Im Grunde ist es auch egal. Implementier doch einfach das Interface und fertig. Das ist doch das schöne an Interfaces. 🙂



  • Hallo,

    kann sein das ich etwas zu kompliziert denke. Ich beschäftige mich erst seit ein paar Tagen mit c#
    Ich schau mal mit dem Interface

    Gruß
    LordX


Anmelden zum Antworten