Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在LINQ to对象中使用Max()后,如何选择多个值?_C#_Linq_Linq To Objects - Fatal编程技术网

C# 在LINQ to对象中使用Max()后,如何选择多个值?

C# 在LINQ to对象中使用Max()后,如何选择多个值?,c#,linq,linq-to-objects,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); 我想选择具有最高价格的对象的对象id和价格。我该怎么做呢?使用ORDERBY descendin

我有以下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);

我想选择具有最高价格的对象的对象id和价格。我该怎么做呢?

使用ORDERBY descending子句并调用FirstOrDefault


{MyObjectId=g.key,totalSum}是一种法律构造吗?totalSum是否应分配给属性?只是问,因为我以前从未见过这种情况。@Matt Greer它在C3中工作,刚刚在LINQPad中试用;--和…,totalSum=totalSum}一样,但如果你问我的话,那是纯粹的巫毒。也适用于复合标识符,例如键,例如->将最后一个标识符-这里的键-作为键。@Matt:是的,它是有效的。创建匿名对象时,有两种方法可以设置属性:声明它并设置值MyObjectId=g.Key或声明一个变量以获取名称和值。所以这是等价的:new{MyObjectID=k.Key,totalSum=totalSum}如果您有多个具有最高价格的对象/组,这会起作用吗?我没有试过这个
(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();