tags:

views:

18

answers:

1

Hi,

Apologies for using someone else's brain for this, but I'm sure this is a common problem and has some sort of design pattern solution that I've not come across before.

I have an IList of objects that each have a "start" and a "stop" date. These date ranges can overlap. What I need to do is select which object is current for today's date. If there's an overlapping date then I need to select the one that has a start date closest to today's date which which the stop date hasn't passed.

I haven't used Linq much but I get the impression it might be ideal for this kind of task.

Can someone point me in the right direction as to how to get the result required?

Cheers, Matt

A: 
var target = lst.Where(i => i.start <= DateTime.Now && i.end > DateTime.Now).OrderByDescending(i => i.start).First()

Eh... not much else to say.

Alex Paven