# ParallelEnumerable Class

**.NET Framework (current version)**

Note |
---|

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

Provides a set of methods for querying objects that implement ParallelQuery{TSource}. This is the parallel equivalent of Enumerable.

**Namespace:**System.Linq

**Assembly:**System.Core (in System.Core.dll)

Name | Description | |
---|---|---|

Aggregate<'TSource>(ParallelQuery<'TSource>, Func<'TSource, 'TSource, 'TSource>) | Applies in parallel an accumulator function over a sequence. | |

Aggregate<'TSource, 'TAccumulate>(ParallelQuery<'TSource>, 'TAccumulate, Func<'TAccumulate, 'TSource, 'TAccumulate>) | Applies in parallel an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. | |

Aggregate<'TSource, 'TAccumulate, 'TResult>(ParallelQuery<'TSource>, 'TAccumulate, Func<'TAccumulate, 'TSource, 'TAccumulate>, Func<'TAccumulate, 'TAccumulate, 'TAccumulate>, Func<'TAccumulate, 'TResult>) | Applies in parallel an accumulator function over a sequence. This overload is not available in the sequential implementation. | |

Aggregate<'TSource, 'TAccumulate, 'TResult>(ParallelQuery<'TSource>, 'TAccumulate, Func<'TAccumulate, 'TSource, 'TAccumulate>, Func<'TAccumulate, 'TResult>) | Applies in parallel an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. | |

Aggregate<'TSource, 'TAccumulate, 'TResult>(ParallelQuery<'TSource>, Func<'TAccumulate>, Func<'TAccumulate, 'TSource, 'TAccumulate>, Func<'TAccumulate, 'TAccumulate, 'TAccumulate>, Func<'TAccumulate, 'TResult>) | Applies in parallel an accumulator function over a sequence. This overload is not available in the sequential implementation. | |

All<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Determines in parallel whether all elements of a sequence satisfy a condition. | |

Any<'TSource>(ParallelQuery<'TSource>) | Determines whether a parallel sequence contains any elements. | |

Any<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Determines in parallel whether any element of a sequence satisfies a condition. | |

AsEnumerable<'TSource>(ParallelQuery<'TSource>) | Converts a ParallelQuery<'TSource> into an IEnumerable<'T> to force sequential evaluation of the query. | |

AsOrdered(ParallelQuery) | 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. | |

AsOrdered<'TSource>(ParallelQuery<'TSource>) | Enables treatment of a data source as if it were ordered, overriding the default of unordered. AsOrdered may only be invoked on generic sequences returned by AsParallel, ParallelEnumerable.Range, and ParallelEnumerable.Repeat. | |

AsParallel(IEnumerable) | Enables parallelization of a query. | |

AsParallel<'TSource>(IEnumerable<'TSource>) | Enables parallelization of a query. | |

AsParallel<'TSource>(Partitioner<'TSource>) | Enables parallelization of a query, as sourced by a custom partitioner that is responsible for splitting the input sequence into partitions. | |

AsSequential<'TSource>(ParallelQuery<'TSource>) | Converts a ParallelQuery<'TSource> into an IEnumerable<'T> to force sequential evaluation of the query. | |

AsUnordered<'TSource>(ParallelQuery<'TSource>) | Allows an intermediate query to be treated as if no ordering is implied among the elements. | |

Average(ParallelQuery<Decimal>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Double>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Int32>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Int64>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Nullable<Decimal>>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Nullable<Double>>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Nullable<Int32>>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Nullable<Int64>>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Nullable<Single>>) | Computes in parallel the average of a sequence of values. | |

Average(ParallelQuery<Single>) | Computes in parallel the average of a sequence of values. | |

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Decimal>) | Computes in parallel the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Double>) | Computes in parallel the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32>) | Computes in parallel the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int64>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Decimal>>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Double>>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int32>>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int64>>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Single>>) | ||

Average<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Single>) | ||

Cast<'TResult>(ParallelQuery) | Converts the elements of a ParallelQuery to the specified type. | |

Concat<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>) |
| |

Concat<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>) | Concatenates two parallel sequences. | |

Contains<'TSource>(ParallelQuery<'TSource>, 'TSource) | Determines in parallel whether a sequence contains a specified element by using the default equality comparer. | |

Contains<'TSource>(ParallelQuery<'TSource>, 'TSource, IEqualityComparer<'TSource>) | Determines in parallel whether a sequence contains a specified element by using a specified IEqualityComparer<'T>. | |

Count<'TSource>(ParallelQuery<'TSource>) | Returns the number of elements in a parallel sequence. | |

Count<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns a number that represents how many elements in the specified parallel sequence satisfy a condition. | |

DefaultIfEmpty<'TSource>(ParallelQuery<'TSource>) | Returns the elements of the specified parallel sequence or the type parameter's default value in a singleton collection if the sequence is empty. | |

DefaultIfEmpty<'TSource>(ParallelQuery<'TSource>, 'TSource) | Returns the elements of the specified parallel sequence or the specified value in a singleton collection if the sequence is empty. | |

Distinct<'TSource>(ParallelQuery<'TSource>) | Returns distinct elements from a parallel sequence by using the default equality comparer to compare values. | |

Distinct<'TSource>(ParallelQuery<'TSource>, IEqualityComparer<'TSource>) | Returns distinct elements from a parallel sequence by using a specified IEqualityComparer<'T> to compare values. | |

ElementAt<'TSource>(ParallelQuery<'TSource>, Int32) | Returns the element at a specified index in a parallel sequence. | |

ElementAtOrDefault<'TSource>(ParallelQuery<'TSource>, Int32) | Returns the element at a specified index in a parallel sequence or a default value if the index is out of range. | |

Empty<'TResult>() | Returns an empty ParallelQuery{TResult} that has the specified type argument. | |

Except<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>) |
| |

Except<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>, IEqualityComparer<'TSource>) |
| |

Except<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>) | Produces the set difference of two parallel sequences by using the default equality comparer to compare values. | |

Except<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>, IEqualityComparer<'TSource>) | Produces the set difference of two parallel sequences by using the specified IEqualityComparer<'T> to compare values. | |

First<'TSource>(ParallelQuery<'TSource>) | Returns the first element of a parallel sequence. | |

First<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the first element in a parallel sequence that satisfies a specified condition. | |

FirstOrDefault<'TSource>(ParallelQuery<'TSource>) | Returns the first element of a parallel sequence, or a default value if the sequence contains no elements. | |

FirstOrDefault<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the first element of the parallel sequence that satisfies a condition or a default value if no such element is found. | |

ForAll<'TSource>(ParallelQuery<'TSource>, Action<'TSource>) | Invokes in parallel the specified action for each element in the | |

GroupBy<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Groups in parallel the elements of a sequence according to a specified key selector function. | |

GroupBy<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, IEqualityComparer<'TKey>) | Groups in parallel the elements of a sequence according to a specified key selector function and compares the keys by using a specified IComparer<'T>. | |

GroupBy<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>) | Groups in parallel the elements of a sequence according to a specified key selector function and projects the elements for each group by using a specified function. | |

GroupBy<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>, IEqualityComparer<'TKey>) | Groups in parallel the elements of a sequence according to a key selector function. The keys are compared by using a comparer and each group's elements are projected by using a specified function. | |

GroupBy<'TSource, 'TKey, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TKey, IEnumerable<'TSource>, 'TResult>) | Groups in parallel the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. | |

GroupBy<'TSource, 'TKey, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TKey, IEnumerable<'TSource>, 'TResult>, IEqualityComparer<'TKey>) | Groups in parallel the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The keys are compared by using a specified comparer. | |

GroupBy<'TSource, 'TKey, 'TElement, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>, Func<'TKey, IEnumerable<'TElement>, 'TResult>) | Groups in parallel the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The elements of each group are projected by using a specified function. | |

GroupBy<'TSource, 'TKey, 'TElement, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>, Func<'TKey, IEnumerable<'TElement>, 'TResult>, IEqualityComparer<'TKey>) | Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Key values are compared by using a specified comparer, and the elements of each group are projected by using a specified function. | |

GroupJoin<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, IEnumerable<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, IEnumerable<'TInner>, 'TResult>) |
| |

GroupJoin<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, IEnumerable<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, IEnumerable<'TInner>, 'TResult>, IEqualityComparer<'TKey>) |
| |

GroupJoin<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, ParallelQuery<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, IEnumerable<'TInner>, 'TResult>) | Correlates in parallel the elements of two sequences based on equality of keys and groups the results. The default equality comparer is used to compare keys. | |

GroupJoin<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, ParallelQuery<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, IEnumerable<'TInner>, 'TResult>, IEqualityComparer<'TKey>) | Correlates in parallel the elements of two sequences based on key equality and groups the results. A specified IEqualityComparer<'T> is used to compare keys. | |

Intersect<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>) |
| |

Intersect<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>, IEqualityComparer<'TSource>) |
| |

Intersect<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>) | Produces the set intersection of two parallel sequences by using the default equality comparer to compare values. | |

Intersect<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>, IEqualityComparer<'TSource>) | Produces the set intersection of two parallel sequences by using the specified IEqualityComparer{T} to compare values. | |

Join<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, IEnumerable<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, 'TInner, 'TResult>) |
| |

Join<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, IEnumerable<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, 'TInner, 'TResult>, IEqualityComparer<'TKey>) |
| |

Join<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, ParallelQuery<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, 'TInner, 'TResult>) | Correlates in parallel the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. | |

Join<'TOuter, 'TInner, 'TKey, 'TResult>(ParallelQuery<'TOuter>, ParallelQuery<'TInner>, Func<'TOuter, 'TKey>, Func<'TInner, 'TKey>, Func<'TOuter, 'TInner, 'TResult>, IEqualityComparer<'TKey>) | Correlates in parallel the elements of two sequences based on matching keys. A specified IEqualityComparer<'T> is used to compare keys. | |

Last<'TSource>(ParallelQuery<'TSource>) | Returns the last element of a parallel sequence. | |

Last<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the last element of a parallel sequence that satisfies a specified condition. | |

LastOrDefault<'TSource>(ParallelQuery<'TSource>) | Returns the last element of a parallel sequence, or a default value if the sequence contains no elements. | |

LastOrDefault<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the last element of a parallel sequence that satisfies a condition, or a default value if no such element is found. | |

LongCount<'TSource>(ParallelQuery<'TSource>) | Returns an Int64 that represents the total number of elements in a parallel sequence. | |

LongCount<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns an Int64 that represents how many elements in a parallel sequence satisfy a condition. | |

Max(ParallelQuery<Decimal>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Double>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Int32>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Int64>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Nullable<Decimal>>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Nullable<Double>>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Nullable<Int32>>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Nullable<Int64>>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Nullable<Single>>) | Returns the maximum value in a parallel sequence of values. | |

Max(ParallelQuery<Single>) | Returns the maximum value in a parallel sequence of values. | |

Max<'TSource>(ParallelQuery<'TSource>) | Returns the maximum value in a parallel sequence of values. | |

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Decimal>) | Invokes in parallel a transform function on each element of a sequence and returns the maximum value. | |

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Double>) | Invokes in parallel a transform function on each element of a sequence and returns the maximum value. | |

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32>) | Invokes in parallel a transform function on each element of a sequence and returns the maximum value. | |

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int64>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Decimal>>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Double>>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int32>>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int64>>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Single>>) | ||

Max<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Single>) | ||

Max<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TResult>) | ||

Min(ParallelQuery<Decimal>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Double>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Int32>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Int64>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Nullable<Decimal>>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Nullable<Double>>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Nullable<Int32>>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Nullable<Int64>>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Nullable<Single>>) | Returns the minimum value in a parallel sequence of values. | |

Min(ParallelQuery<Single>) | Returns the minimum value in a parallel sequence of values. | |

Min<'TSource>(ParallelQuery<'TSource>) | Returns the minimum value in a parallel sequence of values. | |

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Decimal>) | Invokes in parallel a transform function on each element of a sequence and returns the minimum value. | |

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Double>) | Invokes in parallel a transform function on each element of a sequence and returns the minimum value. | |

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32>) | Invokes in parallel a transform function on each element of a sequence and returns the minimum value. | |

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int64>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Decimal>>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Double>>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int32>>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int64>>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Single>>) | ||

Min<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Single>) | ||

Min<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TResult>) | ||

OfType<'TResult>(ParallelQuery) | Filters the elements of a ParallelQuery based on a specified type. | |

OrderBy<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Sorts in parallel the elements of a sequence in ascending order according to a key. | |

OrderBy<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, IComparer<'TKey>) | Sorts in parallel the elements of a sequence in ascending order by using a specified comparer. | |

OrderByDescending<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Sorts in parallel the elements of a sequence in descending order according to a key. | |

OrderByDescending<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, IComparer<'TKey>) | Sorts the elements of a sequence in descending order by using a specified comparer. | |

Range(Int32, Int32) | Generates a parallel sequence of integral numbers within a specified range. | |

Repeat<'TResult>('TResult, Int32) | Generates a parallel sequence that contains one repeated value. | |

Reverse<'TSource>(ParallelQuery<'TSource>) | Inverts the order of the elements in a parallel sequence. | |

Select<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, 'TResult>) | Projects in parallel each element of a sequence into a new form. | |

Select<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, Int32, 'TResult>) | Projects in parallel each element of a sequence into a new form by incorporating the element's index. | |

SelectMany<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, IEnumerable<'TResult>>) | Projects in parallel each element of a sequence to an IEnumerable<'T> and flattens the resulting sequences into one sequence. | |

SelectMany<'TSource, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, Int32, IEnumerable<'TResult>>) | Projects in parallel each element of a sequence to an IEnumerable<'T>, and flattens the resulting sequences into one sequence. The index of each source element is used in the projected form of that element. | |

SelectMany<'TSource, 'TCollection, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, IEnumerable<'TCollection>>, Func<'TSource, 'TCollection, 'TResult>) | Projects each element of a sequence to an IEnumerable<'T>, flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. | |

SelectMany<'TSource, 'TCollection, 'TResult>(ParallelQuery<'TSource>, Func<'TSource, Int32, IEnumerable<'TCollection>>, Func<'TSource, 'TCollection, 'TResult>) | Projects each element of a sequence to an IEnumerable<'T>, flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. The index of each source element is used in the intermediate projected form of that element. | |

SequenceEqual<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>) |
| |

SequenceEqual<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>, IEqualityComparer<'TSource>) |
| |

SequenceEqual<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>) | Determines whether two parallel sequences are equal by comparing the elements by using the default equality comparer for their type. | |

SequenceEqual<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>, IEqualityComparer<'TSource>) | Determines whether two parallel sequences are equal by comparing their elements by using a specified IEqualityComparer{T}. | |

Single<'TSource>(ParallelQuery<'TSource>) | Returns the only element of a parallel sequence, and throws an exception if there is not exactly one element in the sequence. | |

Single<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the only element of a parallel sequence that satisfies a specified condition, and throws an exception if more than one such element exists. | |

SingleOrDefault<'TSource>(ParallelQuery<'TSource>) | Returns the only element of a parallel sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. | |

SingleOrDefault<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns the only element of a parallel sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. | |

Skip<'TSource>(ParallelQuery<'TSource>, Int32) | Bypasses a specified number of elements in a parallel sequence and then returns the remaining elements. | |

SkipWhile<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Bypasses elements in a parallel sequence as long as a specified condition is true and then returns the remaining elements. | |

SkipWhile<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32, Boolean>) | Bypasses elements in a parallel sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function. | |

Sum(ParallelQuery<Decimal>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Double>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Int32>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Int64>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Nullable<Decimal>>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Nullable<Double>>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Nullable<Int32>>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Nullable<Int64>>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Nullable<Single>>) | Computes in parallel the sum of a sequence of values. | |

Sum(ParallelQuery<Single>) | Computes in parallel the sum of a sequence of values. | |

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Decimal>) | Computes in parallel the sum of the sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Double>) | Computes in parallel the sum of the sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32>) | Computes in parallel the sum of the sequence of values that are obtained by invoking a transform function on each element of the input sequence. | |

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int64>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Decimal>>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Double>>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int32>>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Int64>>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Nullable<Single>>) | ||

Sum<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Single>) | ||

Take<'TSource>(ParallelQuery<'TSource>, Int32) | Returns a specified number of contiguous elements from the start of a parallel sequence. | |

TakeWhile<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Returns elements from a parallel sequence as long as a specified condition is true. | |

TakeWhile<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32, Boolean>) | Returns elements from a parallel sequence as long as a specified condition is true. The element's index is used in the logic of the predicate function. | |

ThenBy<'TSource, 'TKey>(OrderedParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Performs in parallel a subsequent ordering of the elements in a sequence in ascending order according to a key. | |

ThenBy<'TSource, 'TKey>(OrderedParallelQuery<'TSource>, Func<'TSource, 'TKey>, IComparer<'TKey>) | Performs in parallel a subsequent ordering of the elements in a sequence in ascending order by using a specified comparer. | |

ThenByDescending<'TSource, 'TKey>(OrderedParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Performs in parallel a subsequent ordering of the elements in a sequence in descending order, according to a key. | |

ThenByDescending<'TSource, 'TKey>(OrderedParallelQuery<'TSource>, Func<'TSource, 'TKey>, IComparer<'TKey>) | Performs in parallel a subsequent ordering of the elements in a sequence in descending order by using a specified comparer. | |

ToArray<'TSource>(ParallelQuery<'TSource>) | Creates an array from a ParallelQuery<'TSource>. | |

ToDictionary<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Creates a Dictionary<'TKey, 'TValue> from a ParallelQuery<'TSource> according to a specified key selector function. | |

ToDictionary<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, IEqualityComparer<'TKey>) | Creates a Dictionary<'TKey, 'TValue> from a ParallelQuery<'TSource> according to a specified key selector function and key comparer. | |

ToDictionary<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>) | Creates a Dictionary<'TKey, 'TValue> from a ParallelQuery<'TSource> according to specified key selector and element selector functions. | |

ToDictionary<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>, IEqualityComparer<'TKey>) | Creates a Dictionary<'TKey, 'TValue> from a ParallelQuery<'TSource> according to a specified key selector function, a comparer, and an element selector function. | |

ToList<'TSource>(ParallelQuery<'TSource>) | Creates a List<'T> from an ParallelQuery<'TSource>. | |

ToLookup<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>) | Creates an ILookup<'TKey, 'TElement> from a ParallelQuery<'TSource> according to a specified key selector function. | |

ToLookup<'TSource, 'TKey>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, IEqualityComparer<'TKey>) | Creates an ILookup<'TKey, 'TElement> from a ParallelQuery<'TSource> according to a specified key selector function and key comparer. | |

ToLookup<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>) | Creates an ILookup<'TKey, 'TElement> from a ParallelQuery<'TSource> according to specified key selector and element selector functions. | |

ToLookup<'TSource, 'TKey, 'TElement>(ParallelQuery<'TSource>, Func<'TSource, 'TKey>, Func<'TSource, 'TElement>, IEqualityComparer<'TKey>) | Creates an ILookup<'TKey, 'TElement> from a ParallelQuery<'TSource> according to a specified key selector function, a comparer and an element selector function. | |

Union<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>) |
| |

Union<'TSource>(ParallelQuery<'TSource>, IEnumerable<'TSource>, IEqualityComparer<'TSource>) |
| |

Union<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>) | Produces the set union of two parallel sequences by using the default equality comparer. | |

Union<'TSource>(ParallelQuery<'TSource>, ParallelQuery<'TSource>, IEqualityComparer<'TSource>) | Produces the set union of two parallel sequences by using a specified IEqualityComparer{T}. | |

Where<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Boolean>) | Filters in parallel a sequence of values based on a predicate. | |

Where<'TSource>(ParallelQuery<'TSource>, Func<'TSource, Int32, Boolean>) | Filters in parallel a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function. | |

WithCancellation<'TSource>(ParallelQuery<'TSource>, CancellationToken) | Sets the CancellationToken to associate with the query. | |

WithDegreeOfParallelism<'TSource>(ParallelQuery<'TSource>, Int32) | Sets the degree of parallelism to use in a query. Degree of parallelism is the maximum number of concurrently executing tasks that will be used to process the query. | |

WithExecutionMode<'TSource>(ParallelQuery<'TSource>, ParallelExecutionMode) | Sets the execution mode of the query. | |

WithMergeOptions<'TSource>(ParallelQuery<'TSource>, ParallelMergeOptions) | Sets the merge options for this query, which specify how the query will buffer output. | |

Zip<'TFirst, 'TSecond, 'TResult>(ParallelQuery<'TFirst>, IEnumerable<'TSecond>, Func<'TFirst, 'TSecond, 'TResult>) |
| |

Zip<'TFirst, 'TSecond, 'TResult>(ParallelQuery<'TFirst>, ParallelQuery<'TSecond>, Func<'TFirst, 'TSecond, 'TResult>) | Merges in parallel two sequences by using the specified predicate function. |

**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

Any public static (
**Shared**
in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.