LINQ小组由而获得最新价值

时间:2010-04-17 05:50:26

标签: .net linq

说我的结构如下:

class SomeObject
   Public Name as String
   Public Created as Date
   ...
end class

我有一个List(of SomeObject),它有不同时间的每个名称的多个条目。我想为每个名称选择最新的(最大的Created值)对象。

假设:

Name   Created
A      2010-04-16     *
A      2010-04-15
B      2010-04-12
B      2010-04-13     *
C      2010-04-16     *

我想选择旁边带*的对象。

这可以使用LINQ吗?

1 个答案:

答案 0 :(得分:2)

是:

var maxObjects =
    from o in myList
    group o by o.Name into g
    select new { Name = g.Key, Created = g.Max(o => o.Created) };

请参阅101 Linq samples,了解如何使用Linq。