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>)
注意
The second data source of a binary operator must be of type System.Linq.ParallelQuery
切勿调用此 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);
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>.")]
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>
[<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
未使用此类型参数。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
或 outer
或 inner
或 outerKeySelector
或 innerKeySelector
或 resultSelector
为 null
(Visual Basic 中为 Nothing
)。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.
另请参阅
适用于
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>,TResult>, IEqualityComparer<TKey>)
注意
The second data source of a binary operator must be of type System.Linq.ParallelQuery
切勿调用此 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);
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>.")]
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>
[<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
未使用此类型参数。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);
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
或 outer
或 inner
或 outerKeySelector
或 innerKeySelector
或 resultSelector
为 null
(Visual Basic 中为 Nothing
)。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.