如果我想在C#中按照字典的键和值来确定顺序进行排序,该怎么办呢?例如按值降序排列,在具有相同值的情况下按键降序排列。似乎只按键或只按值进行排序是很容易的,但两者都要考虑却很麻烦。
如果我想在C#中按照字典的键和值来确定顺序进行排序,该怎么办呢?例如按值降序排列,在具有相同值的情况下按键降序排列。似乎只按键或只按值进行排序是很容易的,但两者都要考虑却很麻烦。
using System.Linq;
...
IOrderedEnumerable<KeyValuePair<TKey, TValue>> sortedCollection = myDictionary
.OrderByDescending(x => x.Value)
.ThenByDescending(x => x.Key);
ToDictionary
的原因是什么?字典是不能被排序的。你会破坏排序的效果。 - Andreyvar
。 - Jeppe Stig Nielsenvar
,这样 OP(和其他可能经验不足的开发人员)可以一眼看到返回类型。我尽量让我的答案尽可能有帮助性,即使最终的代码有时可能不太符合惯用语法。 - Dennis Traub