我有一个包含ExpandoObjects字典的列表.我将此绑定到网格,但现在我想对列表进行排序.
var rows = new List<dynamic>();
for (int i = 0; i < 1000; i++)
{
dynamic expandy = new ExpandoObject();
var dictionary = (IDictionary<string, object>)expandy;
dictionary.Add("ID", i);
dictionary.Add("Name", "Name" + i);
rows.Add(dictionary);
}
Run Code Online (Sandbox Code Playgroud)
那么看看上面的测试代码我如何排序(升序或降序)说"ID"或"名称"或我动态添加的任何其他属性?
更多信息,我希望像这样排序(这不起作用);
var newOrder = from r in rows
orderby ("Name") ascending
select r;
Run Code Online (Sandbox Code Playgroud)
不知道我是怎么错过这个的,但无论如何这有效,
var newOrder = rows.OrderByDescending(x => x["Name"]);
Run Code Online (Sandbox Code Playgroud)
WooHoo 的答案不适用于Dynamic.ExpandoObject; 这有效:
var newOrder = rows.OrderByDescending(x =>((IDictionary<string,object>)x)["Name"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3535 次 |
| 最近记录: |