0

我正在查看,System.Collections.Specialized.NameValueCollection它需要一个IEqualityComparer,如果像我这样的人想按照键的字母顺序对集合中的项目进行排序,这是个好消息。

但是,仔细观察Reflector,我没有看到NVC该类实际上使用了IEqualityComparer任何地方。我的观察正确吗?IEqualityComparer如在,除了以某些基本顺序重新排列其组成项目外,我看不到可枚举实体中的 an 有任何用处。而且我没有看到NVC看起来可能想要做那种事情的方法(Sort, Arrange, OrderBy, Aggregate, 等等)。

4

1 回答 1

1

NameValueCollection在内部使用Hashtable来存储值。使用HashtableIEqualityComparer散列和比较键是否相等。

另请注意,IEqualityComparer它不进行任何排序,它仅比较是否相等(顾名思义),因此如果您想对值/键进行排序,它就没有用。

于 2010-06-16T12:43:09.423 回答