ParallelEnumerable.AsOrdered Method (ParallelQuery)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Enables treatment of a data source as if it were ordered, overriding the default of unordered. AsOrdered may only be invoked on non-generic sequences returned by AsParallel, ParallelEnumerable.Range, and ParallelEnumerable.Repeat.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static ParallelQuery AsOrdered(
	this ParallelQuery source


Type: System.Linq.ParallelQuery

The input sequence.

Return Value

Type: System.Linq.ParallelQuery

The source sequence which will maintain the original ordering in the subsequent query operators.

Exception Condition

source is a null reference (Nothing in Visual Basic).


thrown if source contains no elements


if AsOrdered is called midway through a query. It is allowed to be called immediately after AsParallel, Range or Repeat<TResult>.

A natural tension exists between performance and preserving order in parallel processing. By default, a parallelized query behaves as if the ordering of the results is arbitrary unless AsOrdered is applied or there is an explicit OrderBy operator in the query. For more information, see Order Preservation in PLINQ.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top