我很困惑我从Microsoft LINQ示例site复制了此代码,但无法对其进行编译。
我想做类似的事情,但是它说它不能解决符号minPrice和其他错误。是什么赋予了?
public void Linq84() {
List products = GetProductList();
var categories =
from p in products
group p by p.Category into g
from minPrice = g.Group.Min(p => p.UnitPrice)
select new {Category = g.Key, CheapestProducts = g.Group.Where(p => p.UnitPrice == minPrice)};
ObjectDumper.Write(categories, 1);
}
最佳答案
我认为查询有一些错别字,或者是在Linq的早期进行的。
我将其重写为:
var categories = from p in products
group p by p.Category into g
let minPrice = g.Min(p => p.UnitPrice)
select new {
Category = g.Key,
CheapestProducts = g.Where(p => p.UnitPrice == minPrice)
};
顺便说一句,作为良好的学习资源,我强烈建议您LinqPad这是一个很好的工具,并且HookedToLinq。
关于c# - C#中的LINQ分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/676184/