Поделиться через


Qbservable.GroupByUntil<TSource, TKey, TElement, TDuration> Method (IQbservable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TSource, TElement>>, Expression<Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>>)

Группирует элементы запрашиваемой наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и выбирает результирующий элемент с помощью указанной функции.

Пространство имен: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))) _
) 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 returnValue As IQbservable(Of IGroupedObservable(Of TKey, TElement))

returnValue = source.GroupByUntil(keySelector, _
    elementSelector, durationSelector)
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
)
[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
)
static member GroupByUntil : 
        source:IQbservable<'TSource> * 
        keySelector:Expression<Func<'TSource, 'TKey>> * 
        elementSelector:Expression<Func<'TSource, 'TElement>> * 
        durationSelector:Expression<Func<IGroupedObservable<'TKey, 'TElement>, IObservable<'TDuration>>> -> IQbservable<IGroupedObservable<'TKey, 'TElement>> 
JScript does not support generic types and methods.

Параметры типа

  • TSource
    Источник типа.
  • Tkey
    Ключ типа.
  • TElement
    Элемент type.
  • TDuration
    Длительность типа.

Параметры

  • source
    Тип: System.Reactive.Linq.IQbservable<TSource>
    Запрашиваемая наблюдаемая последовательность, элементы которой необходимо сгруппировать.
  • elementSelector
    Тип: System.Linq.Expressions.Expression<Func<TSource, TElement>>
    Функция для сопоставления каждого исходного элемента с элементом в наблюдаемой группе.

Возвращаемое значение

Тип: System.Reactive.Linq.IQbservable<IGroupedObservable<TKey, TElement>>
Последовательность запрашиваемых наблюдаемых групп, каждая из которых соответствует уникальному значению ключа и содержит все элементы, которые используют одно и то же значение ключа.

Примечание об использовании

В Visual Basic и C# этот метод можно вызвать как метод экземпляра для любого объекта типа IQbservable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе или .

См. также:

Ссылка

Класс Qbservable

Перегрузка GroupByUntil

Пространство имен System.Reactive.Linq