ParallelEnumerable.GroupJoin Метод

Определение

Устанавливает параллельную корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты.Correlates in parallel the elements of two sequences based on equality of keys and groups the results.

Перегрузки

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

Эту перегрузку GroupJoin вызывать не следует.This GroupJoin overload should never be called. Данный метод помечен как устаревший, при попытке его вызова всегда создается исключение NotSupportedException.This method is marked as obsolete and always throws NotSupportedException when called.

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

Устанавливает параллельную корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты.Correlates in parallel the elements of two sequences based on equality of keys and groups the results. Для сравнения ключей используется компаратор проверки на равенство по умолчанию.The default equality comparer is used to compare keys.

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

Эту перегрузку GroupJoin вызывать не следует.This GroupJoin overload should never be called. Данный метод помечен как устаревший, при попытке его вызова всегда создается исключение NotSupportedException.This method is marked as obsolete and always throws NotSupportedException when called.

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

Устанавливает параллельную корреляцию между элементами двух последовательностей на основе равенства ключа и группирует результаты.Correlates in parallel the elements of two sequences based on key equality and groups the results. Для сравнения ключей используется указанный компаратор IEqualityComparer<T>.A specified IEqualityComparer<T> is used to compare keys.

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

Предупреждение

Этот API устарел.

Эту перегрузку GroupJoin вызывать не следует.This GroupJoin overload should never be called. Данный метод помечен как устаревший, при попытке его вызова всегда создается исключение NotSupportedException.This method is marked as obsolete and always throws NotSupportedException when called.

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);
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

Этот параметр типа не используется.This type parameter is not used.

TInner

Этот параметр типа не используется.This type parameter is not used.

TKey

Этот параметр типа не используется.This type parameter is not used.

TResult

Этот параметр типа не используется.This type parameter is not used.

Параметры

outer
ParallelQuery<TOuter>

Этот параметр не используется.This parameter is not used.

inner
IEnumerable<TInner>

Этот параметр не используется.This parameter is not used.

outerKeySelector
Func<TOuter,TKey>

Этот параметр не используется.This parameter is not used.

innerKeySelector
Func<TInner,TKey>

Этот параметр не используется.This parameter is not used.

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

Этот параметр не используется.This parameter is not used.

Возвраты

ParallelQuery<TResult>

Данная перегрузка всегда создает исключение NotSupportedException.This overload always throws a NotSupportedException.

Атрибуты

Исключения

Исключение, которое возникает при вызове этого метода.The exception that occurs when this method is called.

Комментарии

Эта перегрузка существует, чтобы запретить использование GroupJoin с левым источником данных типа ParallelQuery<TSource> и правильным источником данных типа IEnumerable<T>.This overload exists to disallow usage of GroupJoin with a left data source of type ParallelQuery<TSource> and a right data source of type IEnumerable<T>. В противном случае оператор GroupJoin будет выглядеть как привязка к параллельной реализации, но в действительности будет привязана к последовательной реализации.Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.

Дополнительно

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

Устанавливает параллельную корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты.Correlates in parallel the elements of two sequences based on equality of keys and groups the results. Для сравнения ключей используется компаратор проверки на равенство по умолчанию.The default equality comparer is used to compare keys.

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

Тип элементов первой последовательности.The type of the elements of the first sequence.

TInner

Тип элементов второй последовательности.The type of the elements of the second sequence.

TKey

Тип ключей, возвращаемых функциями селектора ключа.The type of the keys returned by the key selector functions.

TResult

Тип результирующих элементов.The type of the result elements.

Параметры

outer
ParallelQuery<TOuter>

Первая последовательность для соединения.The first sequence to join.

inner
ParallelQuery<TInner>

Последовательность, соединяемая с первой последовательностью.The sequence to join to the first sequence.

outerKeySelector
Func<TOuter,TKey>

Функция, извлекающая ключ соединения из каждого элемента первой последовательности.A function to extract the join key from each element of the first sequence.

innerKeySelector
Func<TInner,TKey>

Функция, извлекающая ключ соединения из каждого элемента второй последовательности.A function to extract the join key from each element of the second sequence.

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

Функция, создающая результирующий элемент для элемента первой последовательности и коллекции соответствующих элементов второй последовательности.A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence.

Возвраты

ParallelQuery<TResult>

Последовательность, которая содержит элементы типа TResult, полученные в результате соединения двух последовательностей с группировкой.A sequence that has elements of type TResult that are obtained by performing a grouped join on two sequences.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation.The query was canceled with the token passed in through WithCancellation.

Параметр source или action — это пустая ссылка (Nothing в Visual Basic).source or action is a null reference (Nothing in Visual Basic).

При оценке запроса получено одно или несколько исключений.One or more exceptions occurred during the evaluation of the query.

Дополнительно

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

Предупреждение

Этот API устарел.

Эту перегрузку GroupJoin вызывать не следует.This GroupJoin overload should never be called. Данный метод помечен как устаревший, при попытке его вызова всегда создается исключение NotSupportedException.This method is marked as obsolete and always throws NotSupportedException when called.

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);
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

Этот параметр типа не используется.This type parameter is not used.

TInner

Этот параметр типа не используется.This type parameter is not used.

TKey

Этот параметр типа не используется.This type parameter is not used.

TResult

Этот параметр типа не используется.This type parameter is not used.

Параметры

outer
ParallelQuery<TOuter>

Этот параметр не используется.This parameter is not used.

inner
IEnumerable<TInner>

Этот параметр не используется.This parameter is not used.

outerKeySelector
Func<TOuter,TKey>

Этот параметр не используется.This parameter is not used.

innerKeySelector
Func<TInner,TKey>

Этот параметр не используется.This parameter is not used.

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

Этот параметр не используется.This parameter is not used.

comparer
IEqualityComparer<TKey>

Этот параметр не используется.This parameter is not used.

Возвраты

ParallelQuery<TResult>

Данная перегрузка всегда создает исключение NotSupportedException.This overload always throws a NotSupportedException.

Атрибуты

Исключения

Исключение, которое возникает при вызове этого метода.The exception that occurs when this method is called.

Комментарии

Эта перегрузка существует, чтобы запретить использование GroupJoin с левым источником данных типа ParallelQuery<TSource> и правильным источником данных типа IEnumerable<T>.This overload exists to disallow usage of GroupJoin with a left data source of type ParallelQuery<TSource> and a right data source of type IEnumerable<T>. В противном случае оператор GroupJoin будет выглядеть как привязка к параллельной реализации, но в действительности будет привязана к последовательной реализации.Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.

Дополнительно

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

Устанавливает параллельную корреляцию между элементами двух последовательностей на основе равенства ключа и группирует результаты.Correlates in parallel the elements of two sequences based on key equality and groups the results. Для сравнения ключей используется указанный компаратор IEqualityComparer<T>.A specified IEqualityComparer<T> is used to compare keys.

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);
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

Тип элементов первой последовательности.The type of the elements of the first sequence.

TInner

Тип элементов второй последовательности.The type of the elements of the second sequence.

TKey

Тип ключей, возвращаемых функциями селектора ключа.The type of the keys returned by the key selector functions.

TResult

Тип результирующих элементов.The type of the result elements.

Параметры

outer
ParallelQuery<TOuter>

Первая последовательность для соединения.The first sequence to join.

inner
ParallelQuery<TInner>

Последовательность, соединяемая с первой последовательностью.The sequence to join to the first sequence.

outerKeySelector
Func<TOuter,TKey>

Функция, извлекающая ключ соединения из каждого элемента первой последовательности.A function to extract the join key from each element of the first sequence.

innerKeySelector
Func<TInner,TKey>

Функция, извлекающая ключ соединения из каждого элемента второй последовательности.A function to extract the join key from each element of the second sequence.

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

Функция, создающая результирующий элемент для элемента первой последовательности и коллекции соответствующих элементов второй последовательности.A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence.

comparer
IEqualityComparer<TKey>

Компаратор IEqualityComparer<T>, используемый для хэширования и сравнения ключей.An IEqualityComparer<T> to hash and compare keys.

Возвраты

ParallelQuery<TResult>

Последовательность, которая содержит элементы типа TResult, полученные в результате соединения двух последовательностей с группировкой.A sequence that has elements of type TResult that are obtained by performing a grouped join on two sequences.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation.The query was canceled with the token passed in through WithCancellation.

Параметр source или action — это пустая ссылка (Nothing в Visual Basic).source or action is a null reference (Nothing in Visual Basic).

При оценке запроса получено одно или несколько исключений.One or more exceptions occurred during the evaluation of the query.

Дополнительно

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