2010-04-17 130 views
0

說我有如下的結構:LINQ GROUP BY和獲取最新值

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

我(的SomeObject)的列表,這對於不同的時間每個名字的多個條目。我想爲每個名稱選擇最新的(最大創建值)對象。

考慮:

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

我想挑對象與*他們旁邊。

這可能使用LINQ嗎?

回答

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如何使用。