按值排序字典

时间:2013-03-05 11:59:41

标签: c# mono

我想按价值订购字典。似乎通常在.Net中完成的方式在Mono API中不存在。

是否有任何特定的API调用或我应该自己执行此操作?

由于

2 个答案:

答案 0 :(得分:1)

如评论所述,Dictionary类没有排序。如果你想要一个有序的字典,那就是SortedDictionary类。

但SortedDictionary按其键排序。按照它的值保存一个排序字典似乎不是一项通常的任务。

无论如何,如果你想访问你可以做的排序值:

dict.Values.OrderBy(v => v).ToList(); //Sorted list of the values of the dictionary dict

dict.OrderBy(kvp => kvp.Value).ToList(); //Sorted list (by value) of the key value pairs of the dictionary dict

答案 1 :(得分:0)

你可以使用Linq:

var dict = new Dictionary<string, int>();
var sorted = dict.OrderBy(kvp => kvp.Value).ToList();