ParallelEnumerable.SelectMany<TSource, TResult> Method (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.
Assembly: System.Core (in System.Core.dll)
public static ParallelQuery<TResult> SelectMany<TSource, TResult>( this ParallelQuery<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector )
Parameters
- source
-
Type:
System.Linq.ParallelQuery<TSource>
A sequence of values to project.
- selector
-
Type:
System.Func<TSource, Int32, IEnumerable<TResult>>
A transform function to apply to each element.
Return Value
Type: System.Linq.ParallelQuery<TResult>A sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.
Type Parameters
- TSource
The type of elements of source.
- TResult
The type of the elements of the sequence returned by selector.
| Exception | Condition |
|---|---|
| ArgumentNullException | source or selector is a null reference (Nothing in Visual Basic). |
| OperationCanceledException | The query was canceled with the token passed in through WithCancellation. |
| OverflowException | More than MaxValue elements are enumerated by the query. |
| AggregateException | One or more exceptions occurred during the evaluation of the query. |
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1