我有一個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