Qbservable.SelectMany<TSource, TCollection, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IObservable<TCollection>>>, Expression<Func<TSource, TCollection, TResult>>)

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

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

public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(
	this IQbservable<TSource> source,
	Expression<Func<TSource, IObservable<TCollection>>> collectionSelector,
	Expression<Func<TSource, TCollection, TResult>> resultSelector

Type Parameters


The type of source.


The type of collection.


The type of result.


Type: System.Reactive.Linq.IQbservable<TSource>
A queryable observable sequence of elements to project.
Type: System.Linq.Expressions.Expression<Func<TSource, IObservable<TCollection>>>
A transform function to apply to each element.
Type: System.Linq.Expressions.Expression<Func<TSource, TCollection, TResult>>
A transform function to apply to each element of the intermediate sequence.

Return Value

Type: System.Reactive.Linq.IQbservable<TResult>
A queryable 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 IQbservable<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.