ObservableExtensions.

Reduce<TSource, TAccumulate>(IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) Method

Summary

Applies an accumulator function over an observable 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, see System.Reactive.Linq.Observable.Scan``2(System.IObservable{``0},``1,System.Func{``1,``0,``1}).

Syntax

public static IObservable<TAccumulate> Reduce<TSource, TAccumulate>(this IObservable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator)

Remarks

The return type of this operator differs from the corresponding operator on IEnumerable 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 IObservable<TSource> An observable sequence to aggregate over.
seed TAccumulate The initial accumulator value.
accumulator Func<TAccumulate, TSource, TAccumulate> An accumulator function to be invoked on each element.

Return Value

Type Description
IObservable<TAccumulate> An observable sequence containing a single element with the final accumulator value.