以下示例显示了一个场景 AsSequential是必需的,即保留排序 这是在查询的前一个子句中建立的。
// Paste into PLINQDataSample class. static void SequentialDemo() { var orders = GetOrders(); var query = (from ord in orders.AsParallel() orderby ord.CustomerID select new { Details = ord.OrderID, Date = ord.OrderDate, Shipped = ord.ShippedDate }). AsSequential().Take(5); }
我已经设置了PLINQDataSample
课程,我一直在运行此SequentialDemo()
,但无论我做什么,我都找不到删除AsSequential()
的情况任何差异。
有人可以对此有所了解吗?我知道AsSequential()
用于复杂查询,其中某些部分应按顺序运行,而某些部分应并行运行。我见过多个来源以此为例,说AsSequential()
需要在Take()
之前使用才能保留顺序。但是没有它,秩序似乎就会得到保留。