2016-07-04 27 views
2

我想用linq總結SortedList<DateTime, double>的某些值(時間範圍從開始到結束)。 Keys包含工作日的日期,而Values包含給定日期可能的工作時間的數量。我想回答的問題是,在給定的時間內可能會有多少小時。SortedList中的值總和和Keys上的條件

我設法得到了密鑰的計數,但我現在卡在總和。

計數鍵(感謝計算器)的代碼如下所示:

 double ats = (from n in DaysAndHours.Keys 
        where n >= start 
        where n <= end 
        select n).Count(); 

如何必須改變它,填補ats與日期範圍內的值?

謝謝!

+0

也許是得心應手告訴一些關於你的DaysAndHours的鍵修改?有足夠的信息 –

+0

http://stackoverflow.com/questions/641682/linq-to-sql-sum-without-group-into – andy

+1

感謝您的提示。剛剛更新了文字。 –

回答

5

假設申請後要添加值條件,則使用下面的代碼,並根據需要

double result = DaysAndHours.Where(n => n.Key >= start) 
          .Where(n => n.Key <= end) 
          .Sum(n => n.Value) 
+0

工程就像一個魅力。謝謝! –