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