我有一个字典值的集合(一个 List<>
),需要对其进行排序。基本上,每个字典都是一行,而集合则是一页行。这里有一个简单的例子:
var data = new List<Dictionary<string,string>>();
data.Add(new Dictionary<string,string>() {
{ "Firstname", "Bob"},
{ "Lastname", "Banana"}
});
data.Add(new Dictionary<string, string>() {
{ "Firstname", "Amy"},
{ "Lastname", "Apple"}
});
data.Add(new Dictionary<string, string>() {
{ "Firstname", "Charlie"},
{ "Lastname", "Coconut"}
});
data.Add(new Dictionary<string, string>() {
{ "Firstname", "Andy"},
{ "Lastname", "Apple"}
});
生成的排序字符串类似于“SQL”,例如:
Lastname asc, Firstname desc
我已经在数据对象上尝试了.OrderBy()
,但对于KeyValuePairs似乎不起作用。
有什么方法可以使用动态排序语句将数据列表按照这个顺序排序:
Apple, Andy
Apple, Amy
Banana, Bob
Coconut, Charlie
如果使用.NET 4.0,一些高级的LINQ可能会起作用。感谢任何建议。