Skip to content

,System.Func{--0,--1},System.Func{--0,--2},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--2},System.IObservable{--3}},System.Collections.Generic.IEqualityComparer{--1})} ,System.Func{--0,--1},System.Func{--0,--2},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--2},System.IObservable{--3}})} ,System.Func{--0,--1},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--0},System.IObservable{--2}},System.Collections.Generic.IEqualityComparer{--1})} ,System.Func{--0,--1},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--0},System.IObservable{--2}})} ,System.Func{--0,--1},System.Func{--0,--2},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--2},System.IObservable{--3}},System.Int32,System.Collections.Generic.IEqualityComparer{--1})} ,System.Func{--0,--1},System.Func{--0,--2},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--2},System.IObservable{--3}},System.Int32)} ,System.Func{--0,--1},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--0},System.IObservable{--2}},System.Int32,System.Collections.Generic.IEqualityComparer{--1})} ,System.Func{--0,--1},System.Func{System.Reactive.Linq.IGroupedObservable{--1,--0},System.IObservable{--2}},System.Int32)}

Observable.GroupByUntil(IObservable, Func, Func, Func, IObservable>, IEqualityComparer) method

Defined in

Type: Observable Namespace: System.Reactive.Linq Assembly: System.Reactive.dll

Applies to

netstandard2.0

Overloads

  • 1. public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
  • 2. public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)
  • 3. public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
  • 4. public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector)
  • 5. public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
  • 6. public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
  • 7. public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
  • 8. public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)

1. Overload

public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)

Summary: Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TElementThe type of the elements within the groups computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
elementSelectorFuncA function to map each source element to an element in an observable group.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or elementSelector or durationSelector or comparer is null.

2. Overload

public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)

Summary: Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TElementThe type of the elements within the groups computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
elementSelectorFuncA function to map each source element to an element in an observable group.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or elementSelector or durationSelector is null.

3. Overload

public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)

Summary: Groups the elements of an observable sequence according to a specified key selector function and comparer. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or durationSelector or comparer is null.

4. Overload

public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector)

Summary: Groups the elements of an observable sequence according to a specified key selector function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or durationSelector is null.

5. Overload

public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)

Summary: Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TElementThe type of the elements within the groups computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
elementSelectorFuncA function to map each source element to an element in an observable group.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or elementSelector or durationSelector or comparer is null.
System.ArgumentOutOfRangeExceptioncapacity is less than 0.

6. Overload

public static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)

Summary: Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and selects the resulting elements by using a specified function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TElementThe type of the elements within the groups computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
elementSelectorFuncA function to map each source element to an element in an observable group.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or elementSelector or durationSelector is null.
System.ArgumentOutOfRangeExceptioncapacity is less than 0.

7. Overload

public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)

Summary: Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function and comparer. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or durationSelector or comparer is null.
System.ArgumentOutOfRangeExceptioncapacity is less than 0.

8. Overload

public static IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)

Summary: Groups the elements of an observable sequence with the specified initial capacity according to a specified key selector function. A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence.
TKeyThe type of the grouping key computed for each element in the source sequence.
TDurationThe type of the elements in the duration sequences obtained for each group to denote its lifetime.

Parameters

NameTypeDescription
sourceIObservableAn observable sequence whose elements to group.
keySelectorFuncA function to extract the key for each element.
durationSelectorFunc, IObservable>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.

Returns: IObservable> -- A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or keySelector or durationSelector is null.
System.ArgumentOutOfRangeExceptioncapacity is less than 0.