使用KeyValuePair对List进行排序

时间:2013-11-13 12:34:50

标签: c# list key

我有这段代码:

List<KeyValuePair<String,List<MyObject>>> aux = retEmpty.ToList();
aux.ForEach(x => ret.Add(x.Key, x.Value));

我需要通过第一个元素(“string”)对“ret”进行排序。我试了几个例子,但没有一个能奏效。有什么帮助吗?

4 个答案:

答案 0 :(得分:2)

您是否尝试使用以下代码替换第二行:

aux.OrderBy(x=>x.Key).ToList().ForEach(x=>ret.Add(x.Key,x.Value));

答案 1 :(得分:1)

根据您的评论,您只需使用SortedDictionary

即可
var ret = new SortedDictionary<String,List<MyObject>>();
ret.Add(...

答案 2 :(得分:0)

您尝试过类似的事情吗?

var v = from obj in ret
    orderby obj.Key
    select obj

答案 3 :(得分:0)

ret看起来像一个字典。如果这个假设是正确的,您可以使用SortedDictionary代替。