ParallelEnumerable.GroupJoin Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Correlates in parallel the elements of two sequences based on equality of keys and groups the results.
Overloads
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
Caution
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>.
This GroupJoin overload should never be called. 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);
[<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)
Type Parameters
- 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.
Parameters
- 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.
Returns
This overload always throws a NotSupportedException.
- Attributes
Exceptions
The exception that occurs when this method is called.
Remarks
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>. Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
See also
Applies to
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
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)
Type Parameters
- 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.
Parameters
- 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.
Returns
A sequence that has elements of type TResult
that are obtained by performing a grouped join on two sequences.
Exceptions
The query was canceled with the token passed in through WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).
source
or action
or outer
or inner
or outerKeySelector
or innerKeySelector
or resultSelector
is null
(Nothing
in Visual Basic).
One or more exceptions occurred during the evaluation of the query.
See also
Applies to
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
Caution
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>.
This GroupJoin overload should never be called. 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);
[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)
Type Parameters
- 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.
Parameters
- 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.
Returns
This overload always throws a NotSupportedException.
- Attributes
Exceptions
The exception that occurs when this method is called.
Remarks
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>. Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
See also
Applies to
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
Correlates in parallel the elements of two sequences based on key equality and groups the results. 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);
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)
Type Parameters
- 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.
Parameters
- 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>
An IEqualityComparer<T> to hash and compare keys.
Returns
A sequence that has elements of type TResult
that are obtained by performing a grouped join on two sequences.
Exceptions
The query was canceled with the token passed in through WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).
source
or action
or outer
or inner
or outerKeySelector
or innerKeySelector
or resultSelector
is null
(Nothing
in Visual Basic).
One or more exceptions occurred during the evaluation of the query.