Share via

Observable.Scan<TSource, TAccumulate> Method (IObservable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

Applies an accumulator function over an observable sequence and returns each intermediate result with the specified source, seed and accumulator.

Namespace:  System.Reactive.Linq
Assembly:  System.Reactive (in System.Reactive.dll)


<ExtensionAttribute> _
Public Shared Function Scan(Of TSource, TAccumulate) ( _
    source As IObservable(Of TSource), _
    seed As TAccumulate, _
    accumulator As Func(Of TAccumulate, TSource, TAccumulate) _
) As IObservable(Of TAccumulate)
Dim source As IObservable(Of TSource)
Dim seed As TAccumulate
Dim accumulator As Func(Of TAccumulate, TSource, TAccumulate)
Dim returnValue As IObservable(Of TAccumulate)

returnValue = source.Scan(seed, accumulator)
public static IObservable<TAccumulate> Scan<TSource, TAccumulate>(
    this IObservable<TSource> source,
    TAccumulate seed,
    Func<TAccumulate, TSource, TAccumulate> accumulator
generic<typename TSource, typename TAccumulate>
static IObservable<TAccumulate>^ Scan(
    IObservable<TSource>^ source, 
    TAccumulate seed, 
    Func<TAccumulate, TSource, TAccumulate>^ accumulator
static member Scan : 
        source:IObservable<'TSource> * 
        seed:'TAccumulate * 
        accumulator:Func<'TAccumulate, 'TSource, 'TAccumulate> -> IObservable<'TAccumulate> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.
  • TAccumulate
    The type of accumulator.


  • seed
    Type: TAccumulate
    The initial accumulator value.
  • accumulator
    Type: System.Func<TAccumulate, TSource, TAccumulate>
    An accumulator function to be invoked on each element.

Return Value

Type: System.IObservable<TAccumulate>
An observable sequence containing the accumulated values.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also


Observable Class

Scan Overload

System.Reactive.Linq Namespace