0

MSDN 文章“ PLINQ 中的订单保留”指出:

以下示例通过对源序列使用 AsOrdered 运算符来覆盖默认行为。这样可以确保 Take 方法返回源序列中满足条件的前 10 个城市

var orderedCities = (from city in cities.AsParallel().AsOrdered()
                     where city.Population > 10000
                     select city)
                       .Take(1000);

是否可以返回多于(或少于)10 个在 PLINQ 查询中排序的第一个项目以及如何返回?

4

1 回答 1

2

Take(1000)将尝试返回cities满足中定义的条件的前 1000 个元素where city.Population > 10000

当没有足够的元素满足您的要求(或者您的集合中没有足够的元素开始时)时,您可能会收到少于1000 个元素。
但是,除非您特别要求更多元素,否则您将无法获得超过 1000 个元素,例如Take(1001),它将尝试返回 1001 个元素。

有关更多信息Take,请访问MSDN

于 2013-03-12T11:39:28.640 回答