c# Linq组按DateTime忽略小时和分钟
本文关键字:小时 分钟 Linq 组按 DateTime | 更新日期: 2023-09-27 18:08:25
我有一个SortedList,其中DateTime为键,int为值。DateTime值将附带小时和分钟。是否有可能编写一个c# linq过程来将SortedList按单个日期分组,忽略小时并总结值?
使用LINQ非常简单:
from item in list
group item by item.Key.Date into g
select new
{
Sum = g.Sum(a => a.Value),
Values = g
};
一个日期?
简单!
假设您已经将变量singleDate
声明为DateTime
以获取其总和,下面是查询:
var result = (
from key in sortedList.Keys.Cast<DateTime>()
where key.Date == singleDate.Date
select (int)sortedList[key]
).Sum();
我已经使用singleDate.Date
来删除singleDate
可能具有的任何时间信息,但除此之外,这应该是相当直接的。
SortedList
在使用LINQ时有点痛苦。你能告诉我你为什么用它吗?