Enumerable.IntersectBy Метод

Определение

Перегрузки

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

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

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

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

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

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

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

Параметры типа

TSource

Тип элементов входных последовательностей.

TKey

Тип ключа, по которому определяются элементы.

Параметры

first
IEnumerable<TSource>

Объект IEnumerable<T>, из которого извлекаются различающиеся элементы, входящие также в последовательность second.

second
IEnumerable<TKey>

Объект IEnumerable<T>, из которого извлекаются различающиеся элементы, входящие также в первую последовательность.

keySelector
Func<TSource,TKey>

Функция, извлекающая ключ для каждого элемента.

comparer
IEqualityComparer<TKey>

Компаратор IEqualityComparer<T>, используемый для сравнения ключей.

Возвращаемое значение

IEnumerable<TSource>

Последовательность элементов, представляющая собой пересечение двух заданных последовательностей как множеств.

Исключения

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

Комментарии

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

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

Когда объект, возвращаемый этим методом, перечисляется, он Intersect возвращает различные элементы, происходящие в обеих последовательностях в том порядке, в котором они отображаются в first .

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

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

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

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

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

Параметры типа

TSource

Тип элементов входных последовательностей.

TKey

Тип ключа, по которому определяются элементы.

Параметры

first
IEnumerable<TSource>

Объект IEnumerable<T>, из которого извлекаются различающиеся элементы, входящие также в последовательность second.

second
IEnumerable<TKey>

Объект IEnumerable<T>, из которого извлекаются различающиеся элементы, входящие также в первую последовательность.

keySelector
Func<TSource,TKey>

Функция, извлекающая ключ для каждого элемента.

Возвращаемое значение

IEnumerable<TSource>

Последовательность элементов, представляющая собой пересечение двух заданных последовательностей как множеств.

Исключения

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

Комментарии

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

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

Когда объект, возвращаемый этим методом, перечисляется, он Intersect возвращает различные элементы, происходящие в обеих последовательностях в том порядке, в котором они отображаются в first .

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

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