有人可以向我解释一件事。据我了解,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
变量不能仅因为PLINQ
而为空。如果为空,则表示集合中没有满足x <= 25
条件的元素。
您可以阅读更多here
关于c# - 请说明AsParallel(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5886172/