2010-04-17 3 views
0

Скажут, у меня есть структура вроде:группы LINQ по и получить последнее значение

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 можно использовать.

Смежные вопросы