Observable.GroupByUntil<TSource, TKey, TDuration> Method (IObservable<TSource>, Func<TSource, TKey>, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>)

Groups the elements of an observable sequence according to a specified key selector function.

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

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

Type Parameters


The type source.


The type key.


The type duration.


Type: System.IObservable<TSource>
An observable sequence whose elements to group.
Type: System.Func<TSource, TKey>
A function to extract the key for each element.
Type: System.Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>>
A function to signal the expiration of a group.

Return Value

Type: System.IObservable<IGroupedObservable<TKey, TSource>>
A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<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.