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其方法或通过在 C# For Eachforeach Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。

默认相等比较器 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其方法或通过在 C# For Eachforeach Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。

如果 comparernull,则使用默认相等比较器 Default来比较值。

枚举此方法返回的对象时, UnionByfirst 该顺序枚举 和 second ,并生成尚未生成的每个元素。

另请参阅

适用于