关于c#:使用KeyValuePair对List进行排序

Sort on List with KeyValuePair

我有这个代码:

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

我需要按第一个元素("string")对"ret"进行排序。我试了几个例子,但都不管用。有什么帮助吗?


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

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


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

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


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


您是否尝试过类似的操作:

1
2
3
var v = from obj in ret
    orderby obj.Key
    select obj