Linq: filtering a list by time spans in another list
我有两个对象列表。一个列表有一个值和一个日期时间。另一个列表有开始和结束时间。我想建立一个新的列表,其中包含第一个列表中的对象,这些对象位于第二个列表的开始时间和结束时间加上8小时之间。
我在想,我可以用时间跨度遍历列表,然后使用Linq提取第一个列表中的相关项,检查是否有重复项,以及新列表是否不包含值并添加它。这是可行的,但似乎应该有一种方法可以通过使用LINQ来实现这一点。
有人知道如何用LINQ来实现这一点吗?
像这样?
1 2 3 | values.Where(v => times.Any(t => v.DateTime >= t.StartTime && v.DateTime <= t.EndTime) ) |