2016-11-28 23 views
0

我有這種情況:LINQ解決方案有兩個或兩個以上相同的數據的最高線

Data: 28/11/2016 00:34:55 Idade: 20 Name:WSA 
Data: 28/11/2016 00:34:55 Idade: 21 Name:WSA 
Data: 09/08/2007 00:00:00 Idade: 10 Name:Wdddd 
Data: 09/08/2007 00:00:00 Idade: 11 Name:Wdddd 

我不知道如何解決挑選每名最高「Idade」值,上面的例子我需要這爲解決

Data: 28/11/2016 00:34:55 Idade: 21 Name:WSA 
Data: 09/08/2007 00:00:00 Idade: 11 Name:Wdddd 

這裏是我的代碼:

var persons = new List<Person>() 
{ 
    new Person { Data = DateTime.Now, Idade = 20 , Name = "WSA" }, 
    new Person { Data = DateTime.Now, Idade = 21 , Name = "WSA" }, 
    new Person { Data = new DateTime(2007,08,09), Idade = 10 , Name = "Wdddd" }, 
    new Person { Data = new DateTime(2007,08,09), Idade = 11 , Name = "Wdddd" }, 
}; 

///TODO LINQ here 
var _persons = from p in persons select p; 

foreach (var item in _persons) 
{ 
    Console.WriteLine(string.Format("Data: {0} Idade: {1} Name:{2}", item.Data, item.Idade, item.Name)); 
} 

回答

0

使用group by

from p in persons 
group p by p.Name into grp 
select grp.OrderByDescending(x => x.Idade).First(); 
+0

對我的作品謝謝 – user1273180

相關問題