ParallelEnumerable.Join 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據匹配的鍵,平行地對應兩個序列的元素。
多載
| 名稱 | Description |
|---|---|
| Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
已淘汰.
這個 Join 過載絕對不應該被呼叫。 此方法被標記為過時,且每次被呼叫時都會拋 NotSupportedException 出。 |
| Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
根據匹配的鍵,平行地對應兩個序列的元素。 默認相等比較子可用來比較索引鍵。 |
| Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
已淘汰.
這個 Join 過載絕對不應該被呼叫。 此方法被標記為過時,且每次被呼叫時都會拋 NotSupportedException 出。 |
| Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
根據匹配的鍵,平行地對應兩個序列的元素。 指定的 IEqualityComparer<T> 可用來比較索引鍵。 |
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,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>.
這個 Join 過載絕對不應該被呼叫。 此方法被標記為過時,且每次被呼叫時都會拋 NotSupportedException 出。
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)
類型參數
- TOuter
此型別參數未被使用。
- TInner
此型別參數未被使用。
- TKey
此型別參數未被使用。
- TResult
此型別參數未被使用。
參數
- outer
- ParallelQuery<TOuter>
不使用這個參數。
- inner
- IEnumerable<TInner>
不使用這個參數。
- outerKeySelector
- Func<TOuter,TKey>
不使用這個參數。
- innerKeySelector
- Func<TInner,TKey>
不使用這個參數。
- resultSelector
- Func<TOuter,TInner,TResult>
不使用這個參數。
傳回
這種過載總是拋出一個 NotSupportedException。
- 屬性
例外狀況
當此方法被呼叫時,會發生例外。
備註
此過載存在的目的是阻止使用:與類型 ParallelQuery<TSource> 為 的左資料來源及 類型的右資料來源 IEnumerable<T>進行 連接。 否則,Join 運算子看似綁定於平行實作,但實際上綁定於序列實作。
另請參閱
適用於
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)
根據匹配的鍵,平行地對應兩個序列的元素。 默認相等比較子可用來比較索引鍵。
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)
類型參數
- TOuter
第一個序列元素的類型。
- TInner
第二序列元素的類型。
- TKey
鍵選擇器功能回傳的鍵型。
- TResult
結果元素的類型。
參數
- outer
- ParallelQuery<TOuter>
第一個加入的序列。
- inner
- ParallelQuery<TInner>
將序列連接到第一個序列。
- outerKeySelector
- Func<TOuter,TKey>
一個用來從第一個序列中每個元素提取連接鍵的函式。
- innerKeySelector
- Func<TInner,TKey>
一個用來從第二個序列中每個元素提取連接鍵的函式。
- resultSelector
- Func<TOuter,TInner,TResult>
一個用來從兩個匹配元素建立結果元素的函式。
傳回
一個包含類型元素 TResult 的序列,這些元素是透過對兩個序列進行內連接而來。
例外狀況
outer或inner或outerKeySelector或innerKeySelector或resultSelector為null(Visual Basic中Nothing)。
在查詢評估過程中發生了一個或多個例外。
另請參閱
適用於
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,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>.
這個 Join 過載絕對不應該被呼叫。 此方法被標記為過時,且每次被呼叫時都會拋 NotSupportedException 出。
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)
類型參數
- TOuter
此型別參數未被使用。
- TInner
此型別參數未被使用。
- TKey
此型別參數未被使用。
- TResult
此型別參數未被使用。
參數
- outer
- ParallelQuery<TOuter>
不使用這個參數。
- inner
- IEnumerable<TInner>
不使用這個參數。
- outerKeySelector
- Func<TOuter,TKey>
不使用這個參數。
- innerKeySelector
- Func<TInner,TKey>
不使用這個參數。
- resultSelector
- Func<TOuter,TInner,TResult>
不使用這個參數。
- comparer
- IEqualityComparer<TKey>
不使用這個參數。
傳回
這種過載總是拋出一個 NotSupportedException。
- 屬性
例外狀況
當此方法被呼叫時,會發生例外。
備註
此過載存在是為了阻止將左資料來源與右資料來源 ParallelQuery<TSource>IEnumerable<T>使用 Join 的使用。 否則,Join 運算子看似綁定於平行實作,但實際上綁定於序列實作。
另請參閱
適用於
Join<TOuter,TInner,TKey,TResult>(ParallelQuery<TOuter>, ParallelQuery<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)
根據匹配的鍵,平行地對應兩個序列的元素。 指定的 IEqualityComparer<T> 可用來比較索引鍵。
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)
類型參數
- TOuter
第一個序列元素的類型。
- TInner
第二序列元素的類型。
- TKey
鍵選擇器功能回傳的鍵型。
- TResult
結果元素的類型。
參數
- outer
- ParallelQuery<TOuter>
第一個加入的序列。
- inner
- ParallelQuery<TInner>
將序列連接到第一個序列。
- outerKeySelector
- Func<TOuter,TKey>
一個用來從第一個序列中每個元素提取連接鍵的函式。
- innerKeySelector
- Func<TInner,TKey>
一個用來從第二個序列中每個元素提取連接鍵的函式。
- resultSelector
- Func<TOuter,TInner,TResult>
一個用來從兩個匹配元素建立結果元素的函式。
- comparer
- IEqualityComparer<TKey>
An IEqualityComparer<T> 用來雜湊和比較金鑰。
傳回
一個包含類型元素 TResult 的序列,這些元素是透過對兩個序列進行內連接而來。
例外狀況
outer或inner或outerKeySelector或innerKeySelector或resultSelector為null(Visual Basic中Nothing)。
在查詢評估過程中發生了一個或多個例外。