Поделиться через


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>)

Исходный код:
Union.cs
Исходный код:
Union.cs
Исходный код:
Union.cs

Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключа.

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>, который содержит элементы, имеющиеся в обеих входных последовательностях, кроме дубликатов.

Исключения

Параметр first или second имеет значение null.

Комментарии

Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator метода напрямую, либо с помощью foreach в C# или For Each в Visual Basic.

Для сравнения значений Defaultиспользуется средство сравнения на равенство по умолчанию.

При перечислении объекта, возвращаемого этим методом, UnionBy перечисляет first и second в этом порядке и возвращает каждый элемент, который еще не был получен.

См. также раздел

Применяется к

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

Исходный код:
Union.cs
Исходный код:
Union.cs
Исходный код:
Union.cs

Создает объединение наборов двух последовательностей в соответствии с указанной функцией селектора ключа.

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>, который содержит элементы, имеющиеся в обеих входных последовательностях, кроме дубликатов.

Исключения

Параметр first или second имеет значение null.

Комментарии

Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator метода напрямую, либо с помощью foreach в C# или For Each в Visual Basic.

Если comparer имеет значение null, для сравнения значений используется компаратор Defaultна равенство по умолчанию .

При перечислении объекта, возвращаемого этим методом, UnionBy перечисляет first и second в этом порядке и возвращает каждый элемент, который еще не был получен.

См. также раздел

Применяется к