我经常需要按值对字典(由键和值组成)进行排序。例如,我有一个单词和相应频率的散列,我想按频率对其进行排序。
SortedList
适用于单个值(比如频率),我想将其映射回单词。
SortedDictionary按键排序,而不是按值排序。有些求助于 custom class , 但有更清洁的方法吗?
最佳答案
使用 LINQ:
Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);
var sortedDict = from entry in myDict orderby entry.Value ascending select entry;
这也将提供很大的灵 active ,因为您可以选择前 10 个、20 个 10% 等。或者如果您使用词频索引进行 type-ahead
,您还可以包括StartsWith
子句也是如此。
关于c# - 你如何按值对字典进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289/