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


Qbservable.SelectMany<TSource, TCollection, TResult> Method (IQbservable<TSource>, Expression<Func<TSource, IObservable<TCollection>>>, Expression<Func<TSource, TCollection, TResult>>)

Проецирует каждый элемент запрашиваемой наблюдаемой последовательности в отслеживаемую последовательность, доступную для запроса, и преобразует итоговые отслеживаемые последовательности в одну отслеживаемую последовательность, доступную для запроса.

Пространство имен:System.Reactive.Linq
Сборки: System.Reactive.Providers (в System.Reactive.Providers.dll)

Синтаксис

'Declaration
<ExtensionAttribute> _
Public Shared Function SelectMany(Of TSource, TCollection, TResult) ( _
    source As IQbservable(Of TSource), _
    collectionSelector As Expression(Of Func(Of TSource, IObservable(Of TCollection))), _
    resultSelector As Expression(Of Func(Of TSource, TCollection, TResult)) _
) As IQbservable(Of TResult)
'Usage
Dim source As IQbservable(Of TSource)
Dim collectionSelector As Expression(Of Func(Of TSource, IObservable(Of TCollection)))
Dim resultSelector As Expression(Of Func(Of TSource, TCollection, TResult))
Dim returnValue As IQbservable(Of TResult)

returnValue = source.SelectMany(collectionSelector, _
    resultSelector)
public static IQbservable<TResult> SelectMany<TSource, TCollection, TResult>(
    this IQbservable<TSource> source,
    Expression<Func<TSource, IObservable<TCollection>>> collectionSelector,
    Expression<Func<TSource, TCollection, TResult>> resultSelector
)
[ExtensionAttribute]
public:
generic<typename TSource, typename TCollection, typename TResult>
static IQbservable<TResult>^ SelectMany(
    IQbservable<TSource>^ source, 
    Expression<Func<TSource, IObservable<TCollection>^>^>^ collectionSelector, 
    Expression<Func<TSource, TCollection, TResult>^>^ resultSelector
)
static member SelectMany : 
        source:IQbservable<'TSource> * 
        collectionSelector:Expression<Func<'TSource, IObservable<'TCollection>>> * 
        resultSelector:Expression<Func<'TSource, 'TCollection, 'TResult>> -> IQbservable<'TResult> 
JScript does not support generic types and methods.

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

  • TSource
    Тип источника.
  • TCollection
    Тип коллекции.
  • TResult
    Тип результата.

Параметры

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

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

Тип: System.Reactive.Linq.IQbservable<TResult>
Запрашиваемая наблюдаемая последовательность, элементы которой являются результатом вызова функции преобразования "один ко многим" collectionSelector для каждого элемента входной последовательности, а затем сопоставления каждого из этих элементов последовательности и соответствующего им исходного элемента с результирующим элементом.

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

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

См. также:

Ссылка

Класс Qbservable

SelectMany Overload

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