0

次のデータを含む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 を使用してこれを達成する方法はありますか?

4

2 に答える 2

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 サンプルをご覧になることをお勧めします。

于 2013-04-07T17:40:06.433 に答える
0

「ラムダ式」とは、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) });
于 2013-04-08T17:22:54.480 に答える