【发布时间】:2019-03-31 18:17:13
【问题描述】:
如何在不使用 Linq 的情况下,仅使用 .net 2.0 中提供的功能,按值降序对通用字典(字符串、浮点数)进行排序。
请注意,我不希望自己对值进行排序 - 键需要以某种方式连接到值。 (否则,我会问如何对列表进行排序,对吧?)
【问题讨论】:
-
Soooooo,您确实意识到对字典进行排序没有任何意义?我猜你最后可能想要一个排序的浮点数组?
-
请展示你目前的成果
-
也许你可以从
Linq.OrderBy()implementation in the .Net source code 的方法中得到启发(按照代码流向下一点。这是 QuickSort 部分)。 -
@ina 您是否要对字典进行适当的排序?还是将字典的内容放入存储的新对象/数据结构中? 我问,因为前者是不可能的,后者是可能的。
-
令人惊讶的是,即使 .NET 2.0 也有“SortedDictionary”,这将允许在 键(但不是值)上使用自定义比较器以使条目按降序排序,它也有 OrderedDictionary,这是一种非泛型类型,允许以您喜欢的任何顺序插入对,但我没有看到一个很好的泛型解决方案,它允许按值排序(这似乎是一件很奇怪的事情)