Как выбрать несколько значений после использования Max () в LINQ to Objects? - PullRequest
3 голосов
/ 23 марта 2011

У меня следующий запрос 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);

Я хочу выбрать как идентификатор объекта, так и цену объекта с максимальной ценой. Как я могу это сделать?

1 Ответ

7 голосов
/ 23 марта 2011

Используйте заказ по убыванию пункта и позвоните 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();
...