TakeWhile, но получить элемент, который остановил его также

Я хотел бы использовать LINQTakeWhile функция на LINQ для объектов. Однако мне также нужно знать первый элемент, который "сломался" функция, то есть первый элемент, где условие не было истинным.

Есть ли одна функция для получения всех объектов, которые не соответствуют, плюс первая, которая соответствует?

Например, учитывая набор{1, 2, 3, 4, 5, 6, 7, 8},

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

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

Ответы на вопрос(3)

Ваш ответ на вопрос