我有一个 IEnumerable 的扩展方法,它然后遍历集合,做它的业务,然后返回一个新的 IEnumerable。
我尝试使用 .AsParallel().ForAll() 使用 PLINQ,它显着加快了迭代速度(当然应该这样做)但是当返回集合时,该集合中通常有一些对象为空。
我假设这可能是因为它在所有“业务”有机会完成之前返回集合?如果我调试并放入断点,则没有空值。
我应该使用某种“等待此操作完成”的方法吗?
编辑:更清楚一点,forall 中有业务逻辑,修改属性等。有必要循环一个动作,而不是简单地选择一些东西。