LINQ日期聚合

本文关键字:日期 LINQ | 更新日期: 2023-09-27 18:22:32

我有以下输入:

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

class A
{
    DateTime Date;
   int Value;
}

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

我正在寻找一个使用lamda语法的解决方案。

LINQ日期聚合

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!
}