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<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<T>, который содержит элементы, имеющиеся в обеих входных последовательностях, кроме дубликатов.
Исключения
Параметр first
или second
имеет значение null
.
Комментарии
Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator
метода напрямую, либо с помощью foreach
в C# или For Each
в Visual Basic.
Если comparer
имеет значение null
, для сравнения значений используется компаратор Defaultна равенство по умолчанию .
При перечислении объекта, возвращаемого этим методом, UnionBy перечисляет first
и second
в этом порядке и возвращает каждый элемент, который еще не был получен.