Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration> Method (IQbservable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>, IEqualityComparer<TKey>)
Группирует элементы запрашиваемой наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компаратором и выбирает результирующие элементы с помощью указанной функции.
Пространство имен:System.Reactive.Linq
Сборки: System.Reactive.Providers (в System.Reactive.Providers.dll)
Синтаксис
'Declaration
<ExtensionAttribute> _
Public Shared Function GroupByUntil(Of TSource, TKey, TElement, TDuration) ( _
source As IQbservable(Of TSource), _
keySelector As Expression(Of Func(Of TSource, TKey)), _
elementSelector As Expression(Of Func(Of TSource, TElement)), _
durationSelector As Expression(Of Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration))), _
comparer As IEqualityComparer(Of TKey) _
) As IQbservable(Of IGroupedObservable(Of TKey, TElement))
'Usage
Dim source As IQbservable(Of TSource)
Dim keySelector As Expression(Of Func(Of TSource, TKey))
Dim elementSelector As Expression(Of Func(Of TSource, TElement))
Dim durationSelector As Expression(Of Func(Of IGroupedObservable(Of TKey, TElement), IObservable(Of TDuration)))
Dim comparer As IEqualityComparer(Of TKey)
Dim returnValue As IQbservable(Of IGroupedObservable(Of TKey, TElement))
returnValue = source.GroupByUntil(keySelector, _
elementSelector, durationSelector, _
comparer)
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
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TKey, typename TElement, typename TDuration>
static IQbservable<IGroupedObservable<TKey, TElement>^>^ GroupByUntil(
IQbservable<TSource>^ source,
Expression<Func<TSource, TKey>^>^ keySelector,
Expression<Func<TSource, TElement>^>^ elementSelector,
Expression<Func<IGroupedObservable<TKey, TElement>^, IObservable<TDuration>^>^>^ durationSelector,
IEqualityComparer<TKey>^ comparer
)
static member GroupByUntil :
source:IQbservable<'TSource> *
keySelector:Expression<Func<'TSource, 'TKey>> *
elementSelector:Expression<Func<'TSource, 'TElement>> *
durationSelector:Expression<Func<IGroupedObservable<'TKey, 'TElement>, IObservable<'TDuration>>> *
comparer:IEqualityComparer<'TKey> -> IQbservable<IGroupedObservable<'TKey, 'TElement>>
JScript does not support generic types and methods.
Параметры типа
- TSource
Источник типа.
- Tkey
Ключ типа.
- TElement
Элемент type.
- TDuration
Длительность типа.
Параметры
- source
Тип: System.Reactive.Linq.IQbservable<TSource>
Запрашиваемая наблюдаемая последовательность, элементы которой необходимо группировать.
- keySelector
Тип: System.Linq.Expressions.Expression<Func<TSource, TKey>>
Функция, извлекающая ключ для каждого элемента.
- elementSelector
Тип: System.Linq.Expressions.Expression<Func<TSource, TElement>>
Функция для сопоставления каждого исходного элемента с элементом в наблюдаемой группе.
- durationSelector
Тип: System.Linq.Expressions.Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>
Функция, сигналивая об истечении срока действия группы.
- comparer
Тип: System.Collections.Generic.IEqualityComparer<TKey>
Компаратор на равенство для сравнения ключей.
Возвращаемое значение
Тип: System.Reactive.Linq.IQbservable<IGroupedObservable<TKey, TElement>>
Последовательность запрашиваемых наблюдаемых групп, каждая из которых соответствует уникальному значению ключа, содержащая все элементы, которые используют одно и то же значение ключа.
Примечание об использовании
В Visual Basic и C# этот метод можно вызвать как метод экземпляра для любого объекта типа IQbservable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе или .