Представьте, что у вас очень длинная enunumeration, слишком большая, чтобы разумно преобразовать в список. Представьте себе, что я хочу удалить дубликаты из списка. Наконец, представьте, что я знаю, что только небольшое подмножество начального перечисления может содержать дубликаты. Последний момент делает проблему практичной.Фильтрация подмножеств с использованием Linq
В основном я хочу отфильтровать список на основе какого-то предиката и вызывать только Distinct() на этом подмножестве, но также рекомбинировать с перечислением, где предикат возвращает false.
Может ли кто-нибудь подумать о хорошем идиоматическом способе Linq для этого? Я полагаю, что вопрос сводится к следующему:
С Linq, как вы можете выполнять выборочную обработку на основе заданного перечисления и рекомбинировать поток результатов с отклоненными случаями из предиката?