Прочитать на английском

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


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

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

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

C#
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);

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

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 в C# или For Each в Visual Basic.

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET 6, 7, 8, 9

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

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

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

C#
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);

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

TSource

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

TKey

Тип ключа для идентификации элементов.

Параметры

first
IEnumerable<TSource>

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

second
IEnumerable<TKey>

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

keySelector
Func<TSource,TKey>

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

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

IEnumerable<TSource>

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

Исключения

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

Комментарии

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

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET 6, 7, 8, 9