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

Qbservable.GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>()

Qbservable.GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult> Method

Correlates the elements of two sequences based on overlapping durations, and groups the results.

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


<ExtensionAttribute> _
Public Shared Function GroupJoin(Of TLeft, TRight, TLeftDuration, TRightDuration, TResult) ( _
    left As IQbservable(Of TLeft), _
    right As IObservable(Of TRight), _
    leftDurationSelector As Expression(Of Func(Of TLeft, IObservable(Of TLeftDuration))), _
    rightDurationSelector As Expression(Of Func(Of TRight, IObservable(Of TRightDuration))), _
    resultSelector As Expression(Of Func(Of TLeft, IObservable(Of TRight), TResult)) _
) As IQbservable(Of TResult)
Dim left As IQbservable(Of TLeft)
Dim right As IObservable(Of TRight)
Dim leftDurationSelector As Expression(Of Func(Of TLeft, IObservable(Of TLeftDuration)))
Dim rightDurationSelector As Expression(Of Func(Of TRight, IObservable(Of TRightDuration)))
Dim resultSelector As Expression(Of Func(Of TLeft, IObservable(Of TRight), TResult))
Dim returnValue As IQbservable(Of TResult)

returnValue = left.GroupJoin(right, _
    leftDurationSelector, rightDurationSelector, _
public static IQbservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(
    this IQbservable<TLeft> left,
    IObservable<TRight> right,
    Expression<Func<TLeft, IObservable<TLeftDuration>>> leftDurationSelector,
    Expression<Func<TRight, IObservable<TRightDuration>>> rightDurationSelector,
    Expression<Func<TLeft, IObservable<TRight>, TResult>> resultSelector
generic<typename TLeft, typename TRight, typename TLeftDuration, typename TRightDuration, typename TResult>
static IQbservable<TResult>^ GroupJoin(
    IQbservable<TLeft>^ left, 
    IObservable<TRight>^ right, 
    Expression<Func<TLeft, IObservable<TLeftDuration>^>^>^ leftDurationSelector, 
    Expression<Func<TRight, IObservable<TRightDuration>^>^>^ rightDurationSelector, 
    Expression<Func<TLeft, IObservable<TRight>^, TResult>^>^ resultSelector
static member GroupJoin : 
        left:IQbservable<'TLeft> * 
        right:IObservable<'TRight> * 
        leftDurationSelector:Expression<Func<'TLeft, IObservable<'TLeftDuration>>> * 
        rightDurationSelector:Expression<Func<'TRight, IObservable<'TRightDuration>>> * 
        resultSelector:Expression<Func<'TLeft, IObservable<'TRight>, 'TResult>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

Type Parameters

  • TLeft
    The type of left.

  • TRight
    The type of right.

  • TLeftDuration
    The type of left duration.

  • TRightDuration
    The type of right duration.

  • TResult
    The type of result.


Return Value

Type: System.Reactive.Linq.IQbservable<TResult>
A queryable observable sequence that contains result elements computed from source elements that have an overlapping duration.

Usage Note

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

See Also


Qbservable Class

System.Reactive.Linq Namespace