我试图在我的Parallel.For
循环中复制以下内容:
for (int i = 1; i <= totalPages; i++) {
// do something here...
}
请注意我如何声明i
计数器:
i <= totalPages
我想用Parallel.For
循环或使用PLINQ ...
Parallel.For(1, totalPages, i => {
});
但是我无法告诉并行for循环包含最后一个数字。
如果totalPages = 15,我希望这个数字也包含在柜台中......
可以通过Parallel.For
循环或PLINQ完成吗?
P.S。伙计们,totalPages
只是一个普通的整数,而不是一个集合。
答案 0 :(得分:1)
您用于Parallel.For
的重载使用以下参数
如参数名称所示,from包含循环中的当前数字。因此,如果您传递1作为值,则循环也将包含1。但对于第二个参数,它是独家的。它不包括“到”号码。因此,如果你传递5,它将不会在循环的迭代中包含5。
您可以将1
添加到totalPages变量值,并将该算术运算的结果作为toExclusive
参数值传递(假设totalPages的类型为Int32
和totalPages < Int32.MaxValue-1
( 防止算术溢出异常))
Parallel.For(1, totalPages+1, i =>
{
Console.WriteLine(i);
});
对于i,这将是1,2,3,4,5(不一定是相同的顺序)
答案 1 :(得分:0)
您可以在限制变量中添加一个,如下所示
Parallel.For(seed, limit+1,i=>{ //statements })