ParallelEnumerable.GroupJoin Метод

Определение

Сопоставляет параллельно элементы двух последовательностей на основе равенства ключей и группирует результаты.

Перегрузки

Имя Описание
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)
Устаревшие.

Эту перегрузку GroupJoin никогда не следует вызывать. Этот метод помечается как устаревший и всегда вызывается NotSupportedException при вызове.

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

Сопоставляет параллельно элементы двух последовательностей на основе равенства ключей и группирует результаты. Средство сравнения равенства по умолчанию используется для сравнения ключей.

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
Устаревшие.

Эту перегрузку GroupJoin никогда не следует вызывать. Этот метод помечается как устаревший и всегда вызывается NotSupportedException при вызове.

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Сопоставляет параллельно элементы двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется указанный IEqualityComparer<T>.

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

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

Внимание!

The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.

Эту перегрузку GroupJoin никогда не следует вызывать. Этот метод помечается как устаревший и всегда вызывается NotSupportedException при вызове.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ParallelQuery<TResult> ^ GroupJoin(System::Linq::ParallelQuery<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, System::Collections::Generic::IEnumerable<TInner> ^, TResult> ^ resultSelector);
[System.Obsolete("The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.")]
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector);
[<System.Obsolete("The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.")>]
static member GroupJoin : System.Linq.ParallelQuery<'Outer> * seq<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, seq<'Inner>, 'Result> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function GroupJoin(Of TOuter, TInner, TKey, TResult) (outer As ParallelQuery(Of TOuter), inner As IEnumerable(Of TInner), outerKeySelector As Func(Of TOuter, TKey), innerKeySelector As Func(Of TInner, TKey), resultSelector As Func(Of TOuter, IEnumerable(Of TInner), TResult)) As ParallelQuery(Of TResult)

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

TOuter

Этот параметр типа не используется.

TInner

Этот параметр типа не используется.

TKey

Этот параметр типа не используется.

TResult

Этот параметр типа не используется.

Параметры

outer
ParallelQuery<TOuter>

Этот параметр не используется.

inner
IEnumerable<TInner>

Этот параметр не используется.

outerKeySelector
Func<TOuter,TKey>

Этот параметр не используется.

innerKeySelector
Func<TInner,TKey>

Этот параметр не используется.

resultSelector
Func<TOuter,IEnumerable<TInner>,TResult>

Этот параметр не используется.

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

ParallelQuery<TResult>

Эта перегрузка NotSupportedExceptionвсегда вызывает исключение.

Атрибуты

Исключения

Исключение, возникающее при вызове этого метода.

Комментарии

Эта перегрузка существует для запрета использования GroupJoin с левым источником данных типа ParallelQuery<TSource> и правым источником данных типа IEnumerable<T>. В противном случае оператор GroupJoin, как представляется, привязывается к параллельной реализации, но в действительности привязывается к последовательной реализации.

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

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

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

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

Сопоставляет параллельно элементы двух последовательностей на основе равенства ключей и группирует результаты. Средство сравнения равенства по умолчанию используется для сравнения ключей.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ParallelQuery<TResult> ^ GroupJoin(System::Linq::ParallelQuery<TOuter> ^ outer, System::Linq::ParallelQuery<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, System::Collections::Generic::IEnumerable<TInner> ^, TResult> ^ resultSelector);
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Linq.ParallelQuery<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector);
static member GroupJoin : System.Linq.ParallelQuery<'Outer> * System.Linq.ParallelQuery<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, seq<'Inner>, 'Result> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function GroupJoin(Of TOuter, TInner, TKey, TResult) (outer As ParallelQuery(Of TOuter), inner As ParallelQuery(Of TInner), outerKeySelector As Func(Of TOuter, TKey), innerKeySelector As Func(Of TInner, TKey), resultSelector As Func(Of TOuter, IEnumerable(Of TInner), TResult)) As ParallelQuery(Of TResult)

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

TOuter

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

TInner

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

TKey

Тип ключей, возвращаемых функциями селектора ключей.

TResult

Тип элементов результата.

Параметры

outer
ParallelQuery<TOuter>

Первая последовательность для соединения.

inner
ParallelQuery<TInner>

Последовательность для соединения с первой последовательностью.

outerKeySelector
Func<TOuter,TKey>

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

innerKeySelector
Func<TInner,TKey>

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

resultSelector
Func<TOuter,IEnumerable<TInner>,TResult>

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

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

ParallelQuery<TResult>

Последовательность, которая содержит элементы типа TResult , полученные путем выполнения сгруппированного соединения на двух последовательностях.

Исключения

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

outer или inner или outerKeySelector или innerKeySelector или resultSelector /null (Nothing в Visual Basic).

Во время оценки запроса произошло одно или несколько исключений.

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

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

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

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

Внимание!

The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.

Эту перегрузку GroupJoin никогда не следует вызывать. Этот метод помечается как устаревший и всегда вызывается NotSupportedException при вызове.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ParallelQuery<TResult> ^ GroupJoin(System::Linq::ParallelQuery<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, System::Collections::Generic::IEnumerable<TInner> ^, TResult> ^ resultSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
[System.Obsolete("The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.")]
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
[System.Obsolete("The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.")]
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
[<System.Obsolete("The second data source of a binary operator must be of type System.Linq.ParallelQuery<T> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel() extension method to convert the right data source to System.Linq.ParallelQuery<T>.")>]
static member GroupJoin : System.Linq.ParallelQuery<'Outer> * seq<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, seq<'Inner>, 'Result> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function GroupJoin(Of TOuter, TInner, TKey, TResult) (outer As ParallelQuery(Of TOuter), inner As IEnumerable(Of TInner), outerKeySelector As Func(Of TOuter, TKey), innerKeySelector As Func(Of TInner, TKey), resultSelector As Func(Of TOuter, IEnumerable(Of TInner), TResult), comparer As IEqualityComparer(Of TKey)) As ParallelQuery(Of TResult)

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

TOuter

Этот параметр типа не используется.

TInner

Этот параметр типа не используется.

TKey

Этот параметр типа не используется.

TResult

Этот параметр типа не используется.

Параметры

outer
ParallelQuery<TOuter>

Этот параметр не используется.

inner
IEnumerable<TInner>

Этот параметр не используется.

outerKeySelector
Func<TOuter,TKey>

Этот параметр не используется.

innerKeySelector
Func<TInner,TKey>

Этот параметр не используется.

resultSelector
Func<TOuter,IEnumerable<TInner>,TResult>

Этот параметр не используется.

comparer
IEqualityComparer<TKey>

Этот параметр не используется.

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

ParallelQuery<TResult>

Эта перегрузка NotSupportedExceptionвсегда вызывает исключение.

Атрибуты

Исключения

Исключение, возникающее при вызове этого метода.

Комментарии

Эта перегрузка существует для запрета использования GroupJoin с левым источником данных типа ParallelQuery<TSource> и правым источником данных типа IEnumerable<T>. В противном случае оператор GroupJoin, как представляется, привязывается к параллельной реализации, но в действительности привязывается к последовательной реализации.

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

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

GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

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

Сопоставляет параллельно элементы двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется указанный IEqualityComparer<T>.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::ParallelQuery<TResult> ^ GroupJoin(System::Linq::ParallelQuery<TOuter> ^ outer, System::Linq::ParallelQuery<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, System::Collections::Generic::IEnumerable<TInner> ^, TResult> ^ resultSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Linq.ParallelQuery<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public static System.Linq.ParallelQuery<TResult> GroupJoin<TOuter,TInner,TKey,TResult>(this System.Linq.ParallelQuery<TOuter> outer, System.Linq.ParallelQuery<TInner> inner, Func<TOuter,TKey> outerKeySelector, Func<TInner,TKey> innerKeySelector, Func<TOuter,System.Collections.Generic.IEnumerable<TInner>,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member GroupJoin : System.Linq.ParallelQuery<'Outer> * System.Linq.ParallelQuery<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, seq<'Inner>, 'Result> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function GroupJoin(Of TOuter, TInner, TKey, TResult) (outer As ParallelQuery(Of TOuter), inner As ParallelQuery(Of TInner), outerKeySelector As Func(Of TOuter, TKey), innerKeySelector As Func(Of TInner, TKey), resultSelector As Func(Of TOuter, IEnumerable(Of TInner), TResult), comparer As IEqualityComparer(Of TKey)) As ParallelQuery(Of TResult)

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

TOuter

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

TInner

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

TKey

Тип ключей, возвращаемых функциями селектора ключей.

TResult

Тип элементов результата.

Параметры

outer
ParallelQuery<TOuter>

Первая последовательность для соединения.

inner
ParallelQuery<TInner>

Последовательность для соединения с первой последовательностью.

outerKeySelector
Func<TOuter,TKey>

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

innerKeySelector
Func<TInner,TKey>

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

resultSelector
Func<TOuter,IEnumerable<TInner>,TResult>

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

comparer
IEqualityComparer<TKey>

IEqualityComparer<T> хэш и сравнить ключи.

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

ParallelQuery<TResult>

Последовательность, которая содержит элементы типа TResult , полученные путем выполнения сгруппированного соединения на двух последовательностях.

Исключения

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

outer или inner или outerKeySelector или innerKeySelector или resultSelector /null (Nothing в Visual Basic).

Во время оценки запроса произошло одно или несколько исключений.

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

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