我有一个IEnumerable的扩展方法,然后遍历集合,做它的业务,然后返回一个新的IEnumerable。返回null与PLINQ
我试图使用PLINQ .AsParallel()。ForAll()显着加速迭代(当然它应该这样做),但是当收集返回时,该集合中经常有一些对象为空。
我假设这可能是因为它是在所有'业务'有机会完成之前返回集合?如果我调试并放入断点,则没有空值。
是否有某种'等待此操作完成'的方法,我应该使用?
编辑:要更清楚一点,有业务逻辑的所有,修改属性等,有必要有一个动作循环,而不是简单地选择一些东西。
你能告诉我们一个代码示例? – 2010-02-18 23:57:46
ParallelEnumerable .ForAll()不会返回任何东西(void ForAll(...)),而不是IEnumerable - 如果您使用的是ForAll,则不会返回可枚举值...您需要显示码。 –
2010-02-19 00:02:43
不好意思。该方法返回集合,而不是所有的。 – benpage 2010-02-19 00:55:37