Summary
Projects each element of a sequence to an System.Collections.Generic.IAsyncEnumerable`1
, 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.
Syntax
public static IAsyncEnumerable<TResult> MergeMap<TSource, TCollection, TResult>(this IAsyncEnumerable<TSource> source, Func<TSource, int, IAsyncEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
Type Parameters
Name |
Description |
TSource |
The type of the elements of source. |
TCollection |
The type of the intermediate elements collected by collectionSelector. |
TResult |
The type of the elements of the resulting sequence. |
Parameters
Name |
Type |
Description |
source |
IAsyncEnumerable<TSource> |
A sequence of values to project. |
collectionSelector |
Func<TSource, int, IAsyncEnumerable<TCollection>> |
A transform function to apply to each source element; the second parameter of the function represents the index of the source element. |
resultSelector |
Func<TSource, TCollection, TResult> |
A transform function to apply to each element of the intermediate sequence. |
Return Value
Type |
Description |
IAsyncEnumerable<TResult> |
An System.Collections.Generic.IAsyncEnumerable`1 whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of source and then mapping each of those sequence elements and their corresponding source element to a result element. |