如何排序/ Orderby List <object> result = new List <object>();?

时间:2015-12-15 14:52:42

标签: c# .net list object

我将自定义类型:Task添加到列表中。

e.g。

Task t1 = new Task();

result.Add(t1);

现在我想通过'result'类的EndDate属性订购Task

3 个答案:

答案 0 :(得分:2)

您应该使用List<Task>代替List<object>,然后您可以使用OrderBy这样:

var sorted = result.OrderBy(c => c.EndDate);

或者:

var sorted = result.OrderByDescending(c => c.EndDate);

或者:

var sorted = result.OrderByDescending(c => c.EndDate).ToList();

答案 1 :(得分:1)

您需要List<Task>作为result的类型。目前您拥有List<object>,无法投放,无法访问EndDate媒体资源。

List<Task> result = new List<Task>();
Task t1 = new Task();
result.Add(t1);

然后进行排序,您可以使用OrderByOrderByDescending

var sortedQuery = result.OrderBy(r=> r.EndDate);

如果您需要List<Task>,请在查询中附加ToList();

此外,您可以将您的班级名称更改为其他名称,因为有Task .Net框架中提供的类

答案 2 :(得分:0)

您可以使用类型化列表&lt;&gt;。

来使用LINQ

例如:

List<Task> result = new List<Task>();

result.Add(Task1);
result.Add(Task2);

return result.OrderBy(x => x.EndDate).ToList();