Отменить Перечисление.AsParallel (), возвращение в последовательный режим

предположим, что у вас есть запрос LINQ, например

source.AsParallel().Where(expensiveOperation).Select(cheapOperation)

полагаю, в данном случае Select также работает в режиме параллельного выполнения. Может быть, это просто дешевая операция, как i => i*2, так есть ли способ остановить параллельное выполнение в точке запроса с помощью цепных методов?

(возможно, как .AsParallel().Where(expensiveOp).AsSerial?().Select(cheapOp)?)

1 ответов


операции вы почувствуете AsSequential.

source.AsParallel().Where(expensiveOp).AsSequential().Select(cheapOp)