撤消Enumerable.AsParallel(),返回串行模式

Ahm*_*gle 7 c# linq plinq

假设您有一个LINQ查询

source.AsParallel().Where(expensiveOperation).Select(cheapOperation)
Run Code Online (Sandbox Code Playgroud)

我想在这种情况下Select也可以并行执行模式运行.也许它只是一个便宜的操作i => i*2,所以有没有办法在链接方法查询时停止并行执行?

(也许像.AsParallel().Where(expensiveOp).AsSerial?().Select(cheapOp)?)

Dou*_*las 10

您正在寻找的操作是AsSequential.

source.AsParallel().Where(expensiveOp).AsSequential().Select(cheapOp)
Run Code Online (Sandbox Code Playgroud)