2013-04-07 23 views
0

我在C#中使用下列数据的列表,通过收获星期分组行并获得在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表达式?

回答

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了解更多信息。

0

如果 “Lambda表达式,” 你的意思是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) });