C#以相反的顺序迭代键

s5s*_*s5s 0 c# binary search dictionary key

我有一本有int钥匙的字典.密钥是随机顺序的,并不是必然的连续性(例如5,3,11,12,10,4).我想以密钥大小的相反顺序访问每个键值对.所以对于上面的例子,我想访问(12,11,10 ......).

我看到如何做到这一点的方法是获取元素数量的计数,通过二进制搜索找到最大值,然后找到小于当前最大值的下一个最大值等.直到我处理了数字字典中包含的元素.

但是,可能存在一种方法.有关如何查找最大键的讨论:获取字典中的最大键

Tho*_*que 8

var pairs = dictionary.OrderByDescending(pair => pair.Key);
foreach(var pair in pairs)
{
    var value = pair.Value;
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • `foreach(var pair成对)`* (2认同)