我正在查看System.Collections.Specialized.NameValueCollection
并且它需要IEqualityComparer
,如果像我这样的人想要对集合中的项目进行排序,比如按键的字母顺序,这是个好消息
但是,仔细查看Reflector
,我看不到NVC
类实际上在任何地方使用IEqualityComparer
。我的观察是否正确?同样,除了在某些基本订单上重新安排其组成项目之外,我认为在可枚举实体中没有使用IEqualityComparer
。我在NVC
上看不到某种方法看起来可能想要做某种事情(Sort
,Arrange
,OrderBy
,Aggregate
,等)。
答案 0 :(得分:1)
NameValueCollection
在内部使用Hashtable来存储值。 Hashtable
使用IEqualityComparer
来哈希和比较密钥以获得相等。
另请注意,IEqualityComparer
不进行任何排序,它仅比较相等(顾名思义),因此如果您想排序值/键,则无效。< / p>