Frage

Ich bin auf der Suche System.Collections.Specialized.NameValueCollection und es dauert eine IEqualityComparer, die gute Nachricht ist, wenn jemand wie ich die Elemente in der Sammlung von, sagen wir, so etwas wie die alphabetische Reihenfolge der Schlüssel sortieren wollten.

Aber auf einem genaueren Blick in Reflector, ich sehe nicht die NVC Klasse tatsächlich die IEqualityComparer überall verwenden. Ist meine Beobachtung richtig? Wie in, sehe ich keine Verwendung für ein IEqualityComparer in einer enumerable anderen Stelle als neu ordnen seiner konstituierenden Elemente auf einige Kardinal Reihenfolge. Und ich habe keine Methode auf NVC sehen, dass aussieht wie es könnte etwas Ähnliches tun wollen (Sort, Arrange, OrderBy, Aggregate usw.).

War es hilfreich?

Lösung

NameValueCollection verwendet ein Hashtable intern zu speichern, die Werte. Die Hashtable verwendet die IEqualityComparer zu Hash und vergleichen Schlüssel für die Gleichstellung.

Sie auch, dass IEqualityComparer beachten Sie keine Bestellung tun, vergleicht er nur für die Gleichstellung (wie der Name schon sagt), so dass es nicht sinnvoll ist, wenn Sie auf wollen sort Werte / Tasten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top