linqで月ごとにデータを検索する方法は何ですか?

LINQを使って、データを月ごとにグループ化するGroupByメソッドを使い、DateTime.Monthプロパティを使用して日付の月を取得することができます。

以下是一个示例代码,展示如何根据月份来检索数据。

// 假设有一个包含日期和数据的列表
List<DataItem> data = new List<DataItem>()
{
    new DataItem { Date = new DateTime(2022, 1, 15), Value = 10 },
    new DataItem { Date = new DateTime(2022, 2, 25), Value = 20 },
    new DataItem { Date = new DateTime(2022, 1, 5), Value = 30 },
    new DataItem { Date = new DateTime(2022, 3, 10), Value = 40 },
    new DataItem { Date = new DateTime(2022, 2, 10), Value = 50 }
};

// 按月份分组并查询
var result = data.GroupBy(item => item.Date.Month)
                 .Select(group => new {
                     Month = group.Key,
                     Sum = group.Sum(item => item.Value)
                 });

// 输出结果
foreach (var item in result)
{
    Console.WriteLine($"Month: {item.Month}, Sum: {item.Sum}");
}

この例では、最初にGroupByメソッドを使用して日付の月ごとにグループ化します。次に、Selectメソッドを使用して各グループを処理し、月とその月のデータの合計を含む新しい匿名型オブジェクトを作成します。最後に、foreachループを使用して結果を出力します。

注意してください、例として示されたDataItemクラスはカスタムのデータアイテムクラスであり、日付とデータ値を格納するために使用されます。自分のデータ構造に応じて適切に調整する必要があります。

bannerAds