Прочитать на английском

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


ParallelEnumerable.SelectMany Метод

Определение

Проецирует параллельно каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность.

Перегрузки

SelectMany<TSource,TCollection,TResult>(ParallelQuery<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности.

SelectMany<TSource,TCollection,TResult>(ParallelQuery<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Индекс каждого элемента исходной последовательности используется в промежуточной проецированной форме этого элемента.

SelectMany<TSource,TResult>(ParallelQuery<TSource>, Func<TSource,IEnumerable<TResult>>)

Проецирует параллельно каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность.

SelectMany<TSource,TResult>(ParallelQuery<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Параллельно проецирует каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность. Индекс каждого элемента исходной последовательности используется в проецированной форме этого элемента.

SelectMany<TSource,TCollection,TResult>(ParallelQuery<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности.

public static System.Linq.ParallelQuery<TResult> SelectMany<TSource,TCollection,TResult> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,System.Collections.Generic.IEnumerable<TCollection>> collectionSelector, Func<TSource,TCollection,TResult> resultSelector);

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

TSource

Тип промежуточных элементов, собранных функцией collectionSelector.

TCollection

Тип элементов source.

TResult

Тип элементов полученной последовательности.

Параметры

source
ParallelQuery<TSource>

Последовательность значений, которые следует проецировать.

collectionSelector
Func<TSource,IEnumerable<TCollection>>

Функция преобразования, применяемая к каждому исходному элементу; второй параметр функции представляет индекс исходного элемента.

resultSelector
Func<TSource,TCollection,TResult>

Функция, создающая результирующий элемент для элемента первой последовательности и коллекции соответствующих элементов второй последовательности.

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

ParallelQuery<TResult>

Последовательность, элементы которой получены в результате вызова функции преобразования "один ко многим" collectionSelector для каждого элемента последовательности source на основании переданного в collectionSelector индекса и последующего сопоставления каждого элемента такой промежуточной последовательности и соответствующего ему исходного элемента с полученным элементом.

Исключения

Параметр source или selector — это пустая ссылка (Nothing в Visual Basic).

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Запрос перечисляет больше элементов Int32.MaxValue .

При оценке запроса получено одно или несколько исключений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

SelectMany<TSource,TCollection,TResult>(ParallelQuery<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Проецирует каждый элемент последовательности в объект IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Индекс каждого элемента исходной последовательности используется в промежуточной проецированной форме этого элемента.

public static System.Linq.ParallelQuery<TResult> SelectMany<TSource,TCollection,TResult> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,int,System.Collections.Generic.IEnumerable<TCollection>> collectionSelector, Func<TSource,TCollection,TResult> resultSelector);

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

TSource

Тип промежуточных элементов, собранных функцией collectionSelector.

TCollection

Тип элементов source.

TResult

Тип возвращаемых элементов.

Параметры

source
ParallelQuery<TSource>

Последовательность значений, которые следует проецировать.

collectionSelector
Func<TSource,Int32,IEnumerable<TCollection>>

Функция преобразования, применяемая к каждому исходному элементу; второй параметр функции представляет индекс исходного элемента.

resultSelector
Func<TSource,TCollection,TResult>

Функция, создающая результирующий элемент для элемента первой последовательности и коллекции соответствующих элементов второй последовательности.

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

ParallelQuery<TResult>

Последовательность, элементы которой получены в результате вызова функции преобразования "один ко многим" collectionSelector для каждого элемента последовательности source на основании переданного в collectionSelector индекса и последующего сопоставления каждого элемента такой промежуточной последовательности и соответствующего ему исходного элемента с полученным элементом.

Исключения

Параметр source или selector — это пустая ссылка (Nothing в Visual Basic).

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Запрос перечисляет больше элементов Int32.MaxValue .

При оценке запроса получено одно или несколько исключений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

SelectMany<TSource,TResult>(ParallelQuery<TSource>, Func<TSource,IEnumerable<TResult>>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Проецирует параллельно каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность.

public static System.Linq.ParallelQuery<TResult> SelectMany<TSource,TResult> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,System.Collections.Generic.IEnumerable<TResult>> selector);

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

TSource

Тип элементов source.

TResult

Тип элементов последовательности, возвращаемой селектором.

Параметры

source
ParallelQuery<TSource>

Последовательность значений, которые следует проецировать.

selector
Func<TSource,IEnumerable<TResult>>

Функция преобразования, применяемая к каждому элементу.

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

ParallelQuery<TResult>

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

Исключения

Параметр source или selector — это пустая ссылка (Nothing в Visual Basic).

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

При оценке запроса получено одно или несколько исключений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

SelectMany<TSource,TResult>(ParallelQuery<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Параллельно проецирует каждый элемент последовательности в объект IEnumerable<T> и объединяет результирующие последовательности в одну последовательность. Индекс каждого элемента исходной последовательности используется в проецированной форме этого элемента.

public static System.Linq.ParallelQuery<TResult> SelectMany<TSource,TResult> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,int,System.Collections.Generic.IEnumerable<TResult>> selector);

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

TSource

Тип элементов source.

TResult

Тип элементов последовательности, возвращаемой селектором.

Параметры

source
ParallelQuery<TSource>

Последовательность значений, которые следует проецировать.

selector
Func<TSource,Int32,IEnumerable<TResult>>

Функция преобразования, применяемая к каждому элементу.

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

ParallelQuery<TResult>

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

Исключения

Параметр source или selector — это пустая ссылка (Nothing в Visual Basic).

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Запрос перечисляет больше элементов Int32.MaxValue .

При оценке запроса получено одно или несколько исключений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0