Observable.SelectMany(TSource, TCollection, TResult) Method (IObservable(TSource), Func(TSource, IEnumerable(TCollection)), Func(TSource, TCollection, TResult))

Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence.

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

JScript does not support generic types and methods.

Type Parameters


The type of source.


The type of collection.


The type of result.


Type: System.IObservable(TSource)
An observable sequence of elements to project.
Type: System.Func(TSource, IEnumerable(TCollection))
A transform function to apply to each element.
Type: System.Func(TSource, TCollection, TResult)
A transform function to apply to each element of the intermediate sequence.

Return Value

Type: System.IObservable(TResult)
An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.

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 https://msdn.microsoft.com/en-us/library/bb384936(v=vs.103).aspx or https://msdn.microsoft.com/en-us/library/bb383977(v=vs.103).aspx.