Question

Je regarde System.Collections.Specialized.NameValueCollection et il faut un IEqualityComparer, ce qui est de bonnes nouvelles si quelqu'un comme moi voulait trier les éléments de la collection, disons, quelque chose comme l'ordre alphabétique des clés.

Mais, regarder de plus près dans Reflector, je ne vois pas la classe NVC en utilisant le fait partout de IEqualityComparer. Mon observation correcte? Comme dans, je ne vois pas l'utilisation d'un IEqualityComparer dans une entité dénombrable autre que de réarranger ses éléments constitutifs sur un ordre cardinal. Et je ne vois pas une méthode sur NVC qui ressemble à cela pourrait vouloir faire quelque chose de ce genre (Sort, Arrange, OrderBy, Aggregate, etc.).

Était-ce utile?

La solution

NameValueCollection utilise un Hashtable en interne pour stocker les valeurs. Le Hashtable utilise le IEqualityComparer à hachage et clés pour l'égalité comparer.

Notez également que IEqualityComparer ne pas faire de la commande, il se compare uniquement pour l'égalité (comme son nom l'indique) il est donc pas utile si vous voulez trier / valeurs clés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top