Summary
Applies an accumulator function over an async sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value.
For aggregation behavior with incremental intermediate results.
Syntax
public static ValueTask<TAccumulate> ReduceAsync<TSource, TAccumulate>(this IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, CancellationToken cancellationToken)
The return type of this operator differs from the corresponding operator on IAsyncEnumerable in order to retain asynchronous behavior.
Type Parameters
Name |
Description |
TSource |
The type of the elements in the source sequence. |
TAccumulate |
The type of the result of the aggregation. |
Parameters
Name |
Type |
Description |
source |
IAsyncEnumerable<TSource> |
An async sequence to aggregate over. |
seed |
TAccumulate |
The initial accumulator value. |
accumulator |
Func<TAccumulate, TSource, TAccumulate> |
An accumulator function to be invoked on each element. |
cancellationToken |
CancellationToken |
The cancelation token |
Return Value
Type |
Description |
ValueTask<TAccumulate> |
An async sequence containing a single element with the final accumulator value. |