Enumerable.UnionBy 方法

定義

多載

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>)

根據指定的索引鍵選取器函式,產生兩個序列的集合聯集。

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

根據指定的索引鍵選取器函式,產生兩個序列的集合聯集。

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>)

根據指定的索引鍵選取器函式,產生兩個序列的集合聯集。

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ UnionBy(System::Collections::Generic::IEnumerable<TSource> ^ first, System::Collections::Generic::IEnumerable<TSource> ^ second, Func<TSource, TKey> ^ keySelector);
public static System.Collections.Generic.IEnumerable<TSource> UnionBy<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> first, System.Collections.Generic.IEnumerable<TSource> second, Func<TSource,TKey> keySelector);
static member UnionBy : seq<'Source> * seq<'Source> * Func<'Source, 'Key> -> seq<'Source>
<Extension()>
Public Function UnionBy(Of TSource, TKey) (first As IEnumerable(Of TSource), second As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey)) As IEnumerable(Of TSource)

類型參數

TSource

輸入序列之項目的類型。

TKey

要識別專案的索引鍵類型。

參數

first
IEnumerable<TSource>

IEnumerable<T>,其獨特項目構成第一個等位集合。

second
IEnumerable<TSource>

IEnumerable<T>,其獨特項目構成第二個等位集合。

keySelector
Func<TSource,TKey>

用來擷取各項目之索引鍵的函式。

傳回

IEnumerable<TSource>

IEnumerable<T>,其中包含來自兩個輸入序列的項目,但不包括重複的項目。

例外狀況

firstsecondnull

備註

這個方法是使用延後執行來實作。 立即傳回值是一個物件,會儲存執行動作所需的所有資訊。 除非直接呼叫其 GetEnumerator 方法或在 Visual C# For Each 或 Visual Basic 中使用 foreach 來列舉物件,否則不會執行這個方法所代表的查詢。

預設相等比較子 Default 是用來比較值。

列舉這個方法所傳回的物件時, UnionByfirst 依該順序列舉 和 second ,並產生尚未產生的每個專案。

另請參閱

適用於

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

根據指定的索引鍵選取器函式,產生兩個序列的集合聯集。

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ UnionBy(System::Collections::Generic::IEnumerable<TSource> ^ first, System::Collections::Generic::IEnumerable<TSource> ^ second, Func<TSource, TKey> ^ keySelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.IEnumerable<TSource> UnionBy<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> first, System.Collections.Generic.IEnumerable<TSource> second, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member UnionBy : seq<'Source> * seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IEqualityComparer<'Key> -> seq<'Source>
<Extension()>
Public Function UnionBy(Of TSource, TKey) (first As IEnumerable(Of TSource), second As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), comparer As IEqualityComparer(Of TKey)) As IEnumerable(Of TSource)

類型參數

TSource

輸入序列之項目的類型。

TKey

要識別專案的索引鍵類型。

參數

first
IEnumerable<TSource>

IEnumerable<T>,其獨特項目構成第一個等位集合。

second
IEnumerable<TSource>

IEnumerable<T>,其獨特項目構成第二個等位集合。

keySelector
Func<TSource,TKey>

用來擷取各項目之索引鍵的函式。

comparer
IEqualityComparer<TKey>

用來比較值的 IEqualityComparer<T>

傳回

IEnumerable<TSource>

IEnumerable<T>,其中包含來自兩個輸入序列的項目,但不包括重複的項目。

例外狀況

firstsecondnull

備註

這個方法是使用延後執行來實作。 立即傳回值是一個物件,會儲存執行動作所需的所有資訊。 除非直接呼叫其 GetEnumerator 方法或在 Visual C# For Each 或 Visual Basic 中使用 foreach 來列舉物件,否則不會執行這個方法所代表的查詢。

如果 為 comparer null ,則會使用預設相等比較子 Default 來比較值。

列舉這個方法所傳回的物件時, UnionByfirst 依該順序列舉 和 second ,並產生尚未產生的每個專案。

另請參閱

適用於