ParallelEnumerable.GroupJoin メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
キーが等しいかどうかに基づいて 2 つのシーケンスの要素を並列で相互に関連付け、その結果をグループ化します。
オーバーロード
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<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 をスローします。
- 属性
例外
このメソッドが呼び出されたときに発生する例外。
注釈
このオーバーロードは、 型の左側のデータ ソースと 型 ParallelQuery<TSource> の右のデータ ソースを使用して GroupJoin を使用できないようにするために存在します IEnumerable<T>。 それ以外の場合、GroupJoin 演算子は並列実装にバインドされているように見えますが、実際にはシーケンシャル実装にバインドされます。
こちらもご覧ください
適用対象
GroupJoin<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)
キーが等しいかどうかに基づいて 2 つのシーケンスの要素を並列で相互に関連付け、その結果をグループ化します。 キーの比較には既定の等値比較子が使用されます。
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
2 番目のシーケンスの要素の型。
- TKey
キー セレクター関数によって返されるキーの型。
- TResult
結果の要素の型。
パラメーター
- outer
- ParallelQuery<TOuter>
結合する最初のシーケンス。
- inner
- ParallelQuery<TInner>
最初のシーケンスに結合するシーケンス。
- outerKeySelector
- Func<TOuter,TKey>
最初のシーケンスの各要素から結合キーを抽出する関数。
- innerKeySelector
- Func<TInner,TKey>
2 番目のシーケンスの各要素から結合キーを抽出する関数。
- resultSelector
- Func<TOuter,IEnumerable<TInner>,TResult>
最初のシーケンスの要素と、2 番目のシーケンスの一致する要素のコレクションから結果の要素を作成する関数。
戻り値
2 つのシーケンスに対してグループ化結合を実行することによって取得される TResult
型の要素が格納されているシーケンス。
例外
WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 経由で渡されたトークンで、クエリが取り消されました。
source
または action
または outer
または inner
または outerKeySelector
または innerKeySelector
または resultSelector
は、null
(Visual Basic では Nothing
) です。
クエリ評価中に 1 つまたは複数の例外が発生しました。
こちらもご覧ください
適用対象
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<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 をスローします。
- 属性
例外
このメソッドが呼び出されたときに発生する例外。
注釈
このオーバーロードは、 型の左側のデータ ソースと 型 ParallelQuery<TSource> の右のデータ ソースを使用して GroupJoin を使用できないようにするために存在します 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>)
キーが等しいかどうかに基づいて 2 つのシーケンスの要素を並列で相互に関連付け、その結果をグループ化します。 指定された 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
2 番目のシーケンスの要素の型。
- TKey
キー セレクター関数によって返されるキーの型。
- TResult
結果の要素の型。
パラメーター
- outer
- ParallelQuery<TOuter>
結合する最初のシーケンス。
- inner
- ParallelQuery<TInner>
最初のシーケンスに結合するシーケンス。
- outerKeySelector
- Func<TOuter,TKey>
最初のシーケンスの各要素から結合キーを抽出する関数。
- innerKeySelector
- Func<TInner,TKey>
2 番目のシーケンスの各要素から結合キーを抽出する関数。
- resultSelector
- Func<TOuter,IEnumerable<TInner>,TResult>
最初のシーケンスの要素と、2 番目のシーケンスの一致する要素のコレクションから結果の要素を作成する関数。
- comparer
- IEqualityComparer<TKey>
キーをハッシュして比較する IEqualityComparer<T>。
戻り値
2 つのシーケンスに対してグループ化結合を実行することによって取得される TResult
型の要素が格納されているシーケンス。
例外
WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 経由で渡されたトークンで、クエリが取り消されました。
source
または action
または outer
または inner
または outerKeySelector
または innerKeySelector
または resultSelector
は、null
(Visual Basic では Nothing
) です。
クエリ評価中に 1 つまたは複数の例外が発生しました。
こちらもご覧ください
適用対象
.NET