1

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

是否有任何特定的 API 调用或者我应该自己做这个?

谢谢

4

2 回答 2

2

正如所评论的, 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
于 2013-03-05T12:31:11.963 回答
0

你可以使用Linq:

var dict = new Dictionary<string, int>();
var sorted = dict.OrderBy(kvp => kvp.Value).ToList();
于 2013-03-05T12:02:33.853 回答