我想用linq总结SortedList<DateTime, double>
的某些值(时间范围从开始到结束)。键包含工作日的日期,值包含给定日期的可能工作时数。我想回答的问题是,在给定的时间范围内可能有多少小时。
我设法得到钥匙的数量,但我现在已经陷入了这个总和。
计算密钥的代码(感谢stackoverflow)如下所示:
double ats = (from n in DaysAndHours.Keys
where n >= start
where n <= end
select n).Count();
我如何更改它,使用日期范围内的值填充ats
?
谢谢!
答案 0 :(得分:6)
假设您要添加值后应用条件,请使用以下代码并根据需要进行修改
double result = DaysAndHours.Where(n => n.Key >= start)
.Where(n => n.Key <= end)
.Sum(n => n.Value)