2

我有这个代码:

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

我需要按第一个元素(“字符串”)对“ret”进行排序。我尝试了几个例子,但没有一个有效。有什么帮助吗?

4

4 回答 4

2

您是否尝试将第二行替换为:

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

?

于 2013-11-13T12:39:35.443 回答
1

根据您的评论,您可以简单地使用SortedDictionary

var ret = new SortedDictionary<String,List<MyObject>>();
ret.Add(...
于 2013-11-13T12:40:32.573 回答
0

您是否尝试过类似的方法:

var v = from obj in ret
    orderby obj.Key
    select obj
于 2013-11-13T12:40:28.853 回答
0

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

于 2013-11-13T12:40:31.833 回答