我有一个foreach循环,它处理来自xmlnodelist的几千个xmlnode。我试图集成.net 4中的Parallel.For选项,但是我得到了一个错误:"No overload for method 'For‘takes 3 arguments'.但是到目前为止我看到的每个例子都是这样写的.有人知道我需要修改什么才能编译它吗?谢谢.“
Parallel.For( 0,jobs.Count,i => {//..在这里工作..});
发布于 2010-08-20 05:11:44
现在我唯一的另一个问题是,我如何突破当前的迭代?它似乎不喜欢我的continue语句。
当每个迭代都可以并发运行时,您到底希望continue语句如何工作?您应该阅读MSDN上的How to: Stop or Break from a Parallel.For Loop以了解有关这方面的更多信息,并查看Stop和Break方法。
发布于 2011-07-29 13:12:26
现在我唯一的另一个问题是,我如何突破当前的迭代?它似乎不喜欢我的continue语句。
使用break而不是continue。而不是:
for (int i = 1; i < jobs.Count; i++) {
// Initialise iteration.
if (iterationInvalid) continue;
// Do work.
}你本质上得到的是:
for (int i = 1; i < jobs.Count; i++)
action(i);
void action (int i) {
// Initialise iteration.
if (iterationInvalid) break;
// Do work.
}https://stackoverflow.com/questions/3524402
复制相似问题