Skip to content

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

Qbservable.GroupByUntil(IQbservable, Expression>, Expression, IObservable>>) method

Defined in

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

Applies to

netstandard2.0

Overloads

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

1. Overload

public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.

Returns: IQbservable> -- 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.

2. Overload

public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.

Returns: IQbservable> -- 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.

3. Overload

public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
durationSelectorExpression, 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: IQbservable> -- 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.

4. Overload

public static IQbservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IQbservable> -- 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.

5. Overload

public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
elementSelectorExpression>A function to map each source element to an element in an observable group.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.

Returns: IQbservable> -- 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.

6. Overload

public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
elementSelectorExpression>A function to map each source element to an element in an observable group.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.
capacityintThe initial number of elements that the underlying dictionary can contain.

Returns: IQbservable> -- 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 IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
elementSelectorExpression>A function to map each source element to an element in an observable group.
durationSelectorExpression, 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: IQbservable> -- 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.

8. Overload

public static IQbservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(this IQbservable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector, Expression<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
source[IQbservable](#An observable sequence whose elements to group.
keySelectorExpression>A function to extract the key for each element.
elementSelectorExpression>A function to map each source element to an element in an observable group.
durationSelectorExpression, IObservable>>A function to signal the expiration of a group.
comparerIEqualityComparerAn equality comparer to compare keys with.

Returns: IQbservable> -- 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.