ParallelEnumerable.GroupJoin 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
基于键相等对两个序列的元素进行并行关联并对结果进行分组。
重载
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>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- 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>
未使用此参数。
返回
此重载总是会引发 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>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- 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>
用于从第一个序列的元素和第二个序列的匹配元素集合中创建结果元素的函数。
返回
一个序列,其中包含通过对两个序列执行分组联接获得的 TResult
类型的元素。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 action
或 outer
或 inner
或 outerKeySelector
或 innerKeySelector
或 resultSelector
为 null
(Visual Basic 中为 Nothing
)。
评估查询期间发生一个或多个异常。
另请参阅
适用于
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
注意
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>
未使用此参数。
返回
此重载总是会引发 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>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- 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>。
返回
一个序列,其中包含通过对两个序列执行分组联接获得的 TResult
类型的元素。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 action
或 outer
或 inner
或 outerKeySelector
或 innerKeySelector
或 resultSelector
为 null
(Visual Basic 中为 Nothing
)。
评估查询期间发生一个或多个异常。