我将自定义类型:Task
添加到列表中。
e.g。
Task t1 = new Task();
result.Add(t1);
现在我想通过'result'
类的EndDate
属性订购Task
。
答案 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);
然后进行排序,您可以使用OrderBy
或OrderByDescending
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();