在LINQ to Objects中使用Max()后如何选择多个值?

See*_*arp 3 c# linq linq-to-objects

我有以下LINQ查询:

var query =
    (from p in obj1
     group p by p.objID into g
     let totalSum = g.Sum(p => p.ObjPrice)
     select new { MyObjectID = g.Key, totalSum })
    .Max(g => g.totalSum);
Run Code Online (Sandbox Code Playgroud)

我想以最高价格选择对象的对象ID和价格.我怎样才能做到这一点?

Dan*_*ite 7

通过降序子句和调用使用订单FirstOrDefault().

(from p in obj1
group p by p.objID into g
let totalSum = g.Sum(p => p.ObjPrice)
orderby totalSum descending
select new { MyObjectID = g.Key, totalSum }).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)