TakeWhile, but get the element that stopped it also

Viewed 6417

I'd like to use the LINQ TakeWhile function on LINQ to Objects. However, I also need to know the first element that "broke" the function, i.e. the first element where the condition was not true.

Is there a single function to get all of the objects that don't match, plus the first that does?

For example, given the set {1, 2, 3, 4, 5, 6, 7, 8},

mySet.MagicTakeWhile(x => x != 5);

=> {1, 2, 3, 4, 5}

3 Answers
Related