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 определяется как набор, содержащий все элементы A, которые также отображаются в 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 определяется как набор, содержащий все элементы A, которые также отображаются в B, но не содержат других элементов.
При перечислении объекта, возвращаемого этим методом, возвращает отдельные элементы, Intersect
происходящие в обеих последовательностях в порядке, в котором они отображаются first
.
Средство Defaultсравнения равенства по умолчанию используется для сравнения значений.