在 C# 中,有一个与循环System.Threading.Tasks.Parallel.For(...)
相同的for
循环,没有顺序,但在多个线程中。问题是,它仅适用于long
and int
,我想使用ulong
. 好的,我可以进行类型转换,但我在边界方面遇到了一些问题。
比方说,我想要一个从long.MaxValue-10
to的循环long.MaxValue+10
(记住,我说的是ulong
)。我怎么做?
一个例子:
for (long i = long.MaxValue - 10; i < long.MaxValue; ++i)
{
Console.WriteLine(i);
}
//does the same as
System.Threading.Tasks.Parallel.For(long.MaxValue - 10, long.MaxValue, delegate(long i)
{
Console.WriteLine(i);
});
//except for the order, but theres no equivalent for
long max = long.MaxValue;
for (ulong i = (ulong)max - 10; i < (ulong)max + 10; ++i)
{
Console.WriteLine(i);
}