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

Я хотел бы использовать функцию LINQ TakeWhileв LINQ to Objects. Однако мне также нужно знать первый элемент, который «сломал» функцию, т.е. первый элемент, где условие не было истинным.

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

Например, для множества {1, 2, 3, 4, 5, 6, 7, 8},

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

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

17
задан AustinWBryan 9 June 2018 в 15:30
поделиться