Enumerable.IntersectBy Metoda

Definicja

Przeciążenia

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

Tworzy przecięcie zestawu dwóch sekwencji zgodnie z określoną funkcją selektora kluczy.

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

Tworzy przecięcie zestawu dwóch sekwencji zgodnie z określoną funkcją selektora kluczy.

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

Tworzy przecięcie zestawu dwóch sekwencji zgodnie z określoną funkcją selektora kluczy.

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)

Parametry typu

TSource

Typ elementów sekwencji wejściowych.

TKey

Typ klucza do identyfikowania elementów według.

Parametry

first
IEnumerable<TSource>

Zwrócone IEnumerable<T> zostaną odrębne elementy, które również pojawią się w second obiekcie.

second
IEnumerable<TKey>

Zwrócone IEnumerable<T> zostaną odrębne elementy, które również pojawią się w pierwszej sekwencji.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza do każdego elementu.

comparer
IEqualityComparer<TKey>

Element do IEqualityComparer<T> porównywania kluczy.

Zwraca

IEnumerable<TSource>

Sekwencja zawierająca elementy, które tworzą przecięcie zestawu dwóch sekwencji.

Wyjątki

first lub second to null.

Uwagi

Ta metoda jest implementowana za pomocą odroczonego wykonania. Bezpośrednio zwracana wartość jest obiektem, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczony, wywołując metodę GetEnumerator bezpośrednio lub używając w foreach języku C# lub For Each w Visual Basic.

Skrzyżowanie dwóch zestawów A i B jest definiowane jako zestaw zawierający wszystkie elementy A, które również pojawiają się w B, ale nie inne elementy.

Gdy obiekt zwrócony przez tę metodę jest wyliczany, Intersect zwraca różne elementy występujące w obu sekwencjach w kolejności, w której są wyświetlane w firstobiekcie .

Jeśli comparer jest to null, domyślnym porównaniem równości, Defaultjest używany do porównywania wartości.

Zobacz też

Dotyczy

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

Tworzy przecięcie zestawu dwóch sekwencji zgodnie z określoną funkcją selektora kluczy.

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)

Parametry typu

TSource

Typ elementów sekwencji wejściowych.

TKey

Typ klucza do identyfikowania elementów według.

Parametry

first
IEnumerable<TSource>

Zwrócone IEnumerable<T> zostaną odrębne elementy, które również pojawią się w second obiekcie.

second
IEnumerable<TKey>

Zwrócone IEnumerable<T> zostaną odrębne elementy, które również pojawią się w pierwszej sekwencji.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza do każdego elementu.

Zwraca

IEnumerable<TSource>

Sekwencja zawierająca elementy, które tworzą przecięcie zestawu dwóch sekwencji.

Wyjątki

first lub second to null.

Uwagi

Ta metoda jest implementowana za pomocą odroczonego wykonania. Bezpośrednio zwracana wartość jest obiektem, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczony, wywołując metodę GetEnumerator bezpośrednio lub używając w foreach języku C# lub For Each w Visual Basic.

Skrzyżowanie dwóch zestawów A i B jest definiowane jako zestaw zawierający wszystkie elementy A, które również pojawiają się w B, ale nie inne elementy.

Gdy obiekt zwrócony przez tę metodę jest wyliczany, Intersect zwraca różne elementy występujące w obu sekwencjach w kolejności, w której są wyświetlane w firstobiekcie .

Domyślny porównywak równości , Defaultsłuży do porównywania wartości.

Zobacz też

Dotyczy