2014-01-22 75 views
0

我有兩個對象列表。一個列表有一個值和一個日期時間。另一個列表有開始和結束時間。我想創建一個新列表,其中包含第一個列表中的對象,該列表位於第二個列表的開始時間和結束時間加上8小時的任何對象之間。Linq:按時間跨度在另一個列表中篩選列表

我在想我可以用時間跨度遍歷列表,並使用linq來拉出第一個列表中的相關項目,檢查重複項,如果新列表不包含值添加它。這將工作,但似乎應該有一種方法來做到這一點,只是通過使用Linq。

有沒有人有關於如何用linq做到這一點的想法?

+0

請發送樣品輸入和所需的輸出。 – MarcinJuraszek

回答

2

像這樣的東西?

values.Where(v => times.Any(t => v.DateTime >= t.StartTime 
           && v.DateTime <= t.EndTime) 
      ) 
+0

完美,應該這樣做。謝謝!看到它似乎很容易。 –