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
Создает набор пересечения двух последовательностей в соответствии с указанной функцией селектора ключей.
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>, используемый для сравнения ключей.
Возвращаемое значение
Последовательность элементов, представляющая собой пересечение двух заданных последовательностей как множеств.
Исключения
Параметр first
или second
имеет значение null
.
Комментарии
Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator
метода напрямую, либо с помощью foreach
в C# или For Each
в Visual Basic.
Пересечение двух наборов A и B определяется как набор, содержащий все элементы A, которые также отображаются в B, но не содержат других элементов.
При перечислении объекта, возвращаемого этим методом, возвращает различные элементы, происходящие в обеих последовательностях, в том порядке, Intersect
в котором они отображаются в first
.
Если comparer
имеет значение null
, для сравнения значений используется компаратор Defaultна равенство по умолчанию .
См. также раздел
Применяется к
IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>)
- Исходный код:
- Intersect.cs
- Исходный код:
- Intersect.cs
- Исходный код:
- Intersect.cs
Создает набор пересечения двух последовательностей в соответствии с указанной функцией селектора ключей.
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>
Функция, извлекающая ключ для каждого элемента.
Возвращаемое значение
Последовательность элементов, представляющая собой пересечение двух заданных последовательностей как множеств.
Исключения
Параметр first
или second
имеет значение null
.
Комментарии
Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator
метода напрямую, либо с помощью foreach
в C# или For Each
в Visual Basic.
Пересечение двух наборов A и B определяется как набор, содержащий все элементы A, которые также отображаются в B, но не содержат других элементов.
При перечислении объекта, возвращаемого этим методом, возвращает различные элементы, происходящие в обеих последовательностях, в том порядке, Intersect
в котором они отображаются в first
.
Для сравнения значений Defaultиспользуется средство сравнения на равенство по умолчанию.