谁能给我解释一件事。据我了解 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);
}
最佳答案
AsParallel
是 PLINQ
特征。
PLINQ
自动并行化本地 LINQ
查询。 PLINQ
具有易于使用的优点,因为它将工作分区和结果整理的负担卸载到框架。
使用PLINQ
, 只需调用 AsParallel()
在输入序列上,然后继续 LINQ
照常查询。
变量 d
在你的情况下 not 只能是空的,因为 PLINQ
.如果它将为空,则表示集合中没有满足条件 x <= 25
的元素。 .
您可以阅读更多here
关于c# - 请解释 AsParallel(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886172/