2014-01-22 2 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

Отлично, это должно сделать это. Благодаря! Кажется, так легко, как только я это вижу. –

Смежные вопросы