我在C#中有一个包含以下数据的列表,
列表的结构是,
HarvestWeekDate HarvestDate Quantity
1/2/2012 1/2/2012 100
1/2/2012 1/2/2012 100
1/2/2012 1/3/2012 100
1/2/2012 1/4/2012 100
1/2/2012 1/5/2012 100
1/2/2012 1/6/2012 100
1/2/2012 1/6/2012 100
1/9/2012 1/9/2012 100
1/9/2012 1/10/2012 100
1/9/2012 1/10/2012 100
1/9/2012 1/11/2012 100
1/9/2012 1/12/2012 100
1/9/2012 1/13/2012 100
1/9/2012 1/13/2012 100
我想按收获周日期分组,然后从收获周组获得不同的收获日期,然后通过不同的收获量来计算最佳周数量 日期。
谢谢&问候, 费萨尔纳西尔
有什么方法可以使用Lambda Expression实现这个目标吗?
答案 0 :(得分:0)
假设您的列表名为harvestData,这是一个LINQ查询,它将为您提供所需的结果:
var groupedData = (from d in harvestData
group d by new {
HarvestWeekDate = d.HarvestWeekDate,
HarvestDate = d.HarvestDate } into g
select new {
HarvestWeekDate = g.Key.HarvestWeekDate,
HarvestDate = g.Key.HarvestDate,
TotalQuantity = g.Sum (w => w.Quantity) }
);
我建议您查看101 LINQ Samples了解详情。
答案 1 :(得分:0)
如果是“Lambda Expression”,则表示Linq扩展方法:
var groupedData = harvestData.GroupBy (d => new { d.HarvestDate, d.HarvestWeekDate })
.Select (g => new { HarvestWeekDate = g.Key.HarvestWeekDate,
HarvestDate = g.Key.HarvestDate,
TotalQuantity = g.Sum (w => w.Quantity) });