LINQ聚合日期

时间:2012-02-06 09:49:19

标签: c# linq

我有以下输入:

收集A:List<A> 其中A是:

class A
{
    DateTime Date;
   int Value;
}

该集合代表一系列带有值的日期,我想返回Dictionary<DateTime, int>,其中Key是每周的第一天,包含在范围内,Value是该周所有Sum的{​​{1}}。理想情况下,我希望能够指定一周的第一天。

我正在寻找一种解决方案,使用Value语法。

1 个答案:

答案 0 :(得分:5)

var results = yourList.GroupBy(x => GetFirstDayOfWeek(x.Date))
                      .ToDictionary(g => g.Key, g => g.Sum(x => x.Value));

// ...

private static DateTime GetFirstDayOfWeek(DateTime dt)
{
    // left as an exercise for the reader!
}