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: generic<typename TSource, typename TResult> [ExtensionAttribute] static ParallelQuery<TResult>^ SelectMany( 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