NameValuEcollection não faz nada com o seu IoquityCompare?
-
27-09-2019 - |
Pergunta
estou olhando para System.Collections.Specialized.NameValueCollection
E é preciso um IEqualityComparer
, o que é uma boa notícia se alguém como eu quisesse classificar os itens da coleção por, digamos, algo como a ordem alfabética das chaves.
Mas, em uma olhada mais de perto Reflector
, Eu não vejo o NVC
classe realmente usando o IEqualityComparer
qualquer lugar. Minha observação está correta? Como em, não vejo nenhum uso para um IEqualityComparer
Em uma entidade enumerável, além de reorganizar seus itens constituintes em algum pedido cardeal. E eu não vejo um método em NVC
Parece que pode querer fazer algo desse tipo (Sort
, Arrange
, OrderBy
, Aggregate
, etc.).
Solução
NameValueCollection
usa a Hashtable internamente para armazenar os valores. o Hashtable
usa o IEqualityComparer
Hash e comparar chaves para a igualdade.
Observe também isso IEqualityComparer
não faz pedidos, ele apenas se compara à igualdade (como o nome indica), então não é útil se você quiser ordenar valores/chaves.