请解释AsParallel()

use*_*147 9 c# parallel-processing ienumerable plinq

有人可以解释一件事.据我所知,AsParallel()在自己的任务中执行.那么,如果查询返回大量数据,那么当'foreach'开始执行Console.WriteLine时,变量'd'可以为空?

var integerList = Enumerable.Range(1, 100);
var d = from x in integerList.AsParallel()
where x <= 25
select x;
foreach (var v in d)
{
Console.WriteLine(v);
}
Run Code Online (Sandbox Code Playgroud)

oxi*_*min 4

AsParallel是一个PLINQ特点。 PLINQ自动并行本地LINQ查询。PLINQ具有易于使用的优点,因为它减轻了框架的工作分区和结果整理的负担。

要使用PLINQ,只需调用AsParallel()输入序列,然后LINQ照常继续查询。

d您的情况下的变量不能为空,只是因为PLINQ. 如果它为空,则意味着集合中没有满足条件的元素x <= 25

你可以在这里阅读更多