Don Rolando wrote:
everal instances
So you have a list ? I just wrote up something dumb but I am sure you can do it in a more cleaner and scalable way,
List data = new List{
new myObject{position = 1, valid = true},
new myObject{position = 2, valid = true},
new myObject{position = 3, valid = true},
new myObject{position = 4, valid = true},
new myObject{position = 5, valid = false},
new myObject{position = 6, valid = true}
};
var query = (from d in data
where data.Any(d2 => (d2.position == (d.position + 1)) && (d2.valid == true) ) &&
data.Any(d3 => (d3.position == (d.position + 2)) && (d3.valid == true) )
select new { id1 = d.position, id2 = d2.position + 1, id3 = d.position + 2 }
);
foreach (var op in query)
{
Console.WriteLine( "id1 ={0}, id2={1}, id2={2}", op.id1, op.id2, op.id3 );
}