如何使用linq查找具有最大值的项目?
看一看如下表:如何使用linq查找具有最大值的项目?
Item Value
A 10
b 50
c 90
我想maximum value
找到的项目。我可以通过使用group by
或orderding
得到,但不知怎的,我有一种感觉应该有一个更直接的方式。我对吗?
随着EF或LINQ to SQL的:
var item = db.Items.OrderByDescending(i => i.Value).FirstOrDefault();
使用LINQ到对象,我建议使用morelinq扩展MaxBy
(从获得的NuGet morelinq):
var item = items.MaxBy(i => i.Value);
我可以这样做,但我认为应该有另一种更直接的方式来解决问题。这是真的吗? LinQ的Max功能如何? – user1784622 2013-03-07 07:43:39
@ user1784622我认为这非常简单。 – sshow 2013-03-07 07:45:13
@ user1784622 LINQ的最大功能将返回最大值,而不是最大值的项目。即对于你的项目,你会得到'90' – 2013-03-07 07:46:12
是否使用LINQ2SQL? – slugster 2013-03-07 07:40:08