我有这个代码:
List<KeyValuePair<String,List<MyObject>>> aux = retEmpty.ToList();
aux.ForEach(x => ret.Add(x.Key, x.Value));
我需要按第一个元素(“字符串”)对“ret”进行排序。我尝试了几个例子,但没有一个有效。有什么帮助吗?
您是否尝试将第二行替换为:
aux.OrderBy(x=>x.Key).ToList().ForEach(x=>ret.Add(x.Key,x.Value));
?
根据您的评论,您可以简单地使用SortedDictionary
var ret = new SortedDictionary<String,List<MyObject>>();
ret.Add(...
您是否尝试过类似的方法:
var v = from obj in ret
orderby obj.Key
select obj
ret 看起来像字典。如果这个假设是正确的,您可以改用SortedDictionary。