2013-04-07 25 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) });