The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

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

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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TCollection, TResult) ( _
    source As IQbservable(Of TSource), _
    collectionSelector As Expression(Of Func(Of TSource, IObservable(Of TCollection))), _
    resultSelector As Expression(Of Func(Of TSource, TCollection, TResult)) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim collectionSelector As Expression(Of Func(Of TSource, IObservable(Of TCollection)))
Dim resultSelector As Expression(Of Func(Of TSource, TCollection, TResult))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(collectionSelector, _
    resultSelector)
public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IObservable<TCollection>>> collectionSelector,
    Expression<Func<TSource, TCollection, TResult>> resultSelector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TCollection, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IObservable<TCollection>^>^>^ collectionSelector, 
    Expression<Func<TSource, TCollection, TResult>^>^ resultSelector
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        collectionSelector:Expression<Func<'TSource, IObservable<'TCollection>>> * 
        resultSelector:Expression<Func<'TSource, 'TCollection, 'TResult>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TCollection
    The type of collection.

  • TResult
    The type of result.

Parameters

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 or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace

Qbservable.SelectMany<TSource, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IObservable<TResult>>>, Expression<Func<Exception, IObservable<TResult>>>, Expression<Func<IObservable<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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TResult) ( _
    source As IQbservable(Of TSource), _
    onNext As Expression(Of Func(Of TSource, IObservable(Of TResult))), _
    onError As Expression(Of Func(Of Exception, IObservable(Of TResult))), _
    onCompleted As Expression(Of Func(Of IObservable(Of TResult))) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim onNext As Expression(Of Func(Of TSource, IObservable(Of TResult)))
Dim onError As Expression(Of Func(Of Exception, IObservable(Of TResult)))
Dim onCompleted As Expression(Of Func(Of IObservable(Of TResult)))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(onNext, _
    onError, onCompleted)
public static IQbservable<TResult> SelectMany<TSource, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IObservable<TResult>>> onNext,
    Expression<Func<Exception, IObservable<TResult>>> onError,
    Expression<Func<IObservable<TResult>>> onCompleted
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IObservable<TResult>^>^>^ onNext, 
    Expression<Func<Exception^, IObservable<TResult>^>^>^ onError, 
    Expression<Func<IObservable<TResult>^>^>^ onCompleted
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        onNext:Expression<Func<'TSource, IObservable<'TResult>>> * 
        onError:Expression<Func<Exception, IObservable<'TResult>>> * 
        onCompleted:Expression<Func<IObservable<'TResult>>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TResult
    The type of result.

Parameters

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 corresponding to each notification in the input sequence.

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 or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace

Qbservable.SelectMany<TSource, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IEnumerable<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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TResult) ( _
    source As IQbservable(Of TSource), _
    selector As Expression(Of Func(Of TSource, IEnumerable(Of TResult))) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim selector As Expression(Of Func(Of TSource, IEnumerable(Of TResult)))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(selector)
public static IQbservable<TResult> SelectMany<TSource, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IEnumerable<TResult>>> selector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IEnumerable<TResult>^>^>^ selector
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        selector:Expression<Func<'TSource, IEnumerable<'TResult>>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TResult
    The type of result.

Parameters

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 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 IQbservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace

Qbservable.SelectMany<TSource, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IObservable<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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TResult) ( _
    source As IQbservable(Of TSource), _
    selector As Expression(Of Func(Of TSource, IObservable(Of TResult))) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim selector As Expression(Of Func(Of TSource, IObservable(Of TResult)))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(selector)
public static IQbservable<TResult> SelectMany<TSource, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IObservable<TResult>>> selector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IObservable<TResult>^>^>^ selector
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        selector:Expression<Func<'TSource, IObservable<'TResult>>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TResult
    The type of result.

Parameters

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 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 IQbservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace

Qbservable.SelectMany<TSource, TCollection, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IEnumerable<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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TCollection, TResult) ( _
    source As IQbservable(Of TSource), _
    collectionSelector As Expression(Of Func(Of TSource, IEnumerable(Of TCollection))), _
    resultSelector As Expression(Of Func(Of TSource, TCollection, TResult)) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim collectionSelector As Expression(Of Func(Of TSource, IEnumerable(Of TCollection)))
Dim resultSelector As Expression(Of Func(Of TSource, TCollection, TResult))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(collectionSelector, _
    resultSelector)
public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IEnumerable<TCollection>>> collectionSelector,
    Expression<Func<TSource, TCollection, TResult>> resultSelector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TCollection, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IEnumerable<TCollection>^>^>^ collectionSelector, 
    Expression<Func<TSource, TCollection, TResult>^>^ resultSelector
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        collectionSelector:Expression<Func<'TSource, IEnumerable<'TCollection>>> * 
        resultSelector:Expression<Func<'TSource, 'TCollection, 'TResult>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TCollection
    The type of collection.

  • TResult
    The type of result.

Parameters

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 or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace

Qbservable.SelectMany<TSource, TOther> Method (IQbservable<TSource>, IObservable<TOther>)

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)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TOther) ( _
    source As IQbservable(Of TSource), _
    other As IObservable(Of TOther) _
) As IQbservable(Of TOther)
'Usage
Dim source As IQbservable(Of TSource)
Dim other As IObservable(Of TOther)
Dim returnValue As IQbservable(Of TOther)

returnValue = source.SelectMany(other)
public static IQbservable<TOther> SelectMany<TSource, TOther>(
    this IQbservable<TSource> source,
    IObservable<TOther> other
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TOther>
static IQbservable<TOther>^ SelectMany(
    IQbservable<TSource>^ source, 
    IObservable<TOther>^ other
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        other:IObservable<'TOther> -> IQbservable<'TOther> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.

  • TOther
    The type of result.

Parameters

Return Value

Type: System.Reactive.Linq.IQbservable<TOther>
A queryable 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 IQbservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also

Reference

Qbservable Class

SelectMany Overload

System.Reactive.Linq Namespace