ParallelEnumerable.Join 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 matching keys.
Overloads
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,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 Join overload should never be called. This method is marked as obsolete and always throws NotSupportedException when invoked.
public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Linq::ParallelQuery<TResult> ^ Join(System::Linq::ParallelQuery<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, 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> Join<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,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 Join : System.Linq.ParallelQuery<'Outer> * seq<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, 'Inner, 'Result> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function Join(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, 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,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 Join with a left data source of type ParallelQuery<TSource> and a right data source of type IEnumerable<T>. Otherwise, the Join operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
See also
Applies to
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
Correlates in parallel the elements of two sequences based on matching keys. 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> ^ Join(System::Linq::ParallelQuery<TOuter> ^ outer, System::Linq::ParallelQuery<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, TInner, TResult> ^ resultSelector);
public static System.Linq.ParallelQuery<TResult> Join<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,TInner,TResult> resultSelector);
static member Join : System.Linq.ParallelQuery<'Outer> * System.Linq.ParallelQuery<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, 'Inner, 'Result> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function Join(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, 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,TInner,TResult>
A function to create a result element from two matching elements.
Returns
A sequence that has elements of type TResult
that are obtained by performing an inner 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
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,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 Join overload should never be called. This method is marked as obsolete and always throws NotSupportedException when invoked.
public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Linq::ParallelQuery<TResult> ^ Join(System::Linq::ParallelQuery<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, 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> Join<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,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> Join<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,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 Join : System.Linq.ParallelQuery<'Outer> * seq<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, 'Inner, 'Result> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function Join(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, 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,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 Join with a left data source of type ParallelQuery<TSource> and a right data source of type IEnumerable<T>. Otherwise, the Join operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
See also
Applies to
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
Correlates in parallel the elements of two sequences based on matching keys. 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> ^ Join(System::Linq::ParallelQuery<TOuter> ^ outer, System::Linq::ParallelQuery<TInner> ^ inner, Func<TOuter, TKey> ^ outerKeySelector, Func<TInner, TKey> ^ innerKeySelector, Func<TOuter, TInner, TResult> ^ resultSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Linq.ParallelQuery<TResult> Join<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,TInner,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public static System.Linq.ParallelQuery<TResult> Join<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,TInner,TResult> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member Join : System.Linq.ParallelQuery<'Outer> * System.Linq.ParallelQuery<'Inner> * Func<'Outer, 'Key> * Func<'Inner, 'Key> * Func<'Outer, 'Inner, 'Result> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.ParallelQuery<'Result>
<Extension()>
Public Function Join(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, 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,TInner,TResult>
A function to create a result element from two matching elements.
- 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 an inner 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.