Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Seltsames Verhalten von IndexOf bei sortierter generischer Liste

  Alt 22. Feb 2013, 07:16
Ich habe den Quellcode nicht, aber falls IndexOf iterativ umgesetzt ist, ist das Verhalten doch vollkommen ok.

Deine Ordnungsfunktion ist nicht vollständig implementiert, d.h. es gilt eben nicht: A != B => f(A) != f(B)

Lösung? => Bummi

... fügt man weitere Elemente hinzu, so ist die Liste nicht automatisch sortiert, aber für die Bestimmung des Item-Index wird der Comparer bemüht ...
Wieso erwartest Du, das die Liste automatisch sortiert ist? Das wäre doch performancetechnisch völliger Quark und ist außerdem nicht die Aufgabe einer Liste.

Die Liste ist ein Container für Elemente. Mit der Definition einer Ordnungsrelation ('Comparer') und der Sort-Methode kann eine totale Ordnung hergestellt werden. Nach dem Einfügen eines Elements kann die Ordnung zerstört werden.

Und natürlich muss der Comparer bemüht werden, woher sonst soll die Liste wissen, ob zwei Elemente 'gleich' sind? Das 'gleich' wird ja gerade durch den Comparer definiert.

Was passiert, wenn Du keine Ordnungsrelation angibst? Geht das?
  Mit Zitat antworten Zitat