請問, 我有一個資料結構是 SortedDictionary<DateTime, double>
我想裏面的資料照"月份"或"年份"分組, 然後將value加總.
不知道該怎麼做比較好!?
目前只會一筆一筆拿出來計算.
可以用linq語法(或其它方法)簡化嗎?
謝謝~
以下是按月份分組加總的範例程式碼:
var monthlySum = dict.GroupBy(x => new DateTime(x.Key.Year, x.Key.Month, 1))
.Select(g => new { Month = g.Key, Sum = g.Sum(x => x.Value) });
該程式碼會將 SortedDictionary 按月份分組,並計算每個月份的 value 總和。結果會儲存在一個匿名型別的集合中,其中 Month 欄位表示月份,Sum 欄位表示該月份的 value 總和。
以下是按年份分組加總的範例程式碼:
var yearlySum = dict.GroupBy(x => new DateTime(x.Key.Year, 1, 1))
.Select(g => new { Year = g.Key.Year, Sum = g.Sum(x => x.Value) });
該程式碼會將 SortedDictionary 按年份分組,並計算每個年份的 value 總和。結果會儲存在一個匿名型別的集合中,其中 Year 欄位表示年份,Sum 欄位表示該年份的 value 總和。