在 LINQ 查询中,可以使用 GroupBy
和 SelectMany
来按天遍历查询结果,并检查条件。以下是一个示例:
// 假设有一个包含日期和数值的数据集合
List data = new List
{
new DataItem { Date = new DateTime(2022, 1, 1), Value = 10 },
new DataItem { Date = new DateTime(2022, 1, 1), Value = 20 },
new DataItem { Date = new DateTime(2022, 1, 2), Value = 15 },
new DataItem { Date = new DateTime(2022, 1, 2), Value = 25 },
new DataItem { Date = new DateTime(2022, 1, 3), Value = 30 },
};
// 按天遍历查询结果并检查条件
var result = data.GroupBy(d => d.Date.Date) // 按日期分组
.SelectMany(g => g.Where(d => d.Value > 20)) // 检查条件
.OrderBy(d => d.Date); // 按日期排序
// 输出结果
foreach (var item in result)
{
Console.WriteLine($"Date: {item.Date.Date}, Value: {item.Value}");
}
上述示例中,我们首先使用 GroupBy
方法将数据按日期进行分组。然后使用 SelectMany
方法遍历每个分组,并使用 Where
方法检查条件(此处为 Value > 20
)。最后,使用 OrderBy
方法按日期排序结果。
注意:在示例中,DataItem
是一个自定义的类,包含 Date
和 Value
属性。你需要根据实际情况修改代码。