Observable::SelectMany<TSource, TResult> Method (IObservable<TSource>, Func<TSource, IEnumerable<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)

generic<typename TSource, typename TResult>
static IObservable<TResult>^ SelectMany(
	IObservable<TSource>^ source, 
	Func<TSource, IEnumerable<TResult>^>^ selector

Type Parameters


The type of source.


The type of result.


Type: System::IObservable<TSource>
An observable sequence of elements to project.
Type: System::Func<TSource, IEnumerable<TResult>>
A transform function to apply to each element.

Return Value

Type: System::IObservable<TResult>
An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.

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.