【发布时间】:2011-04-09 11:33:54
【问题描述】:
为什么只有一个看起来更像字典的SortedList<TKey, TValue>,而没有一个实际上只是一个总是排序的列表的SortedList<T>?
根据the MSDN documentation on SortedList,它实际上在内部实现为一个动态大小的KeyValuePair<TKey, TValue>数组,始终按key排序。作为任何类型的列表T,同一个类不是更有用吗?那不是更适合这个名字吗?
【问题讨论】:
-
嗯,一个有趣的想法。但是,如果我有一个 SortedList
它将如何执行排序(“键”在哪里)?我必须让 Foo 实现 IComparable 吗? -
必须同意你的观点——考虑到你真的不希望这个类包含键值对的名称。当然,它不是字典,因为您可以在列表中多次出现相同的键。
-
@RPM1984 - 是的,你可以让 Foo IComparable 或者你可以在构建列表时提供一个比较器。
-
呸,丑陋的投反对票。 OP 的投票记录并不鼓舞人心。
-
@Timwi:当您向 SO 社区提出问题时,我认为这通常意味着您在说:“有人愿意分享您的想法并帮助我解决这个问题吗?”当您问一个问题,您唯一满意的答案必须直接来自 BCL 团队时,在 SO 上发帖似乎毫无意义。为什么不直接将您的问题发送给他们?
标签: .net sortedlist base-class-library