Enumerable.IntersectBy Metodo

Definizione

Overload

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

Produce l'intersezione set di due sequenze in base a una funzione di selettore di chiavi specificata.

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

Produce l'intersezione set di due sequenze in base a una funzione di selettore di chiavi specificata.

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

Produce l'intersezione set di due sequenze in base a una funzione di selettore di chiavi specificata.

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)

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.

TKey

Tipo di chiave da cui identificare gli elementi.

Parametri

first
IEnumerable<TSource>

Oggetto IEnumerable<T> di cui verranno restituiti gli elementi distinti che sono presenti anche in second.

second
IEnumerable<TKey>

Oggetto IEnumerable<T> di cui verranno restituiti gli elementi distinti presenti anche nella prima sequenza.

keySelector
Func<TSource,TKey>

Funzione per estrarre la chiave per ogni elemento.

comparer
IEqualityComparer<TKey>

Oggetto IEqualityComparer<T> per confrontare le chiavi.

Restituisce

IEnumerable<TSource>

Sequenza che contiene gli elementi che formano l'intersezione insiemistica delle due sequenze.

Eccezioni

first o second è null.

Commenti

Questo metodo viene implementato usando l'esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto non viene enumerato chiamando il GetEnumerator relativo metodo direttamente o usando foreach in C# o For Each in Visual Basic.

L'intersezione di due set A e B è definita come set che contiene tutti gli elementi di A che appaiono anche in B, ma nessun altro elemento.

Quando l'oggetto restituito da questo metodo viene enumerato, Intersect restituisce elementi distinti che si verificano in entrambe le sequenze nell'ordine in cui vengono visualizzate in first.

Se comparer è null, il comparer di uguaglianza predefinito, Defaultviene usato per confrontare i valori.

Vedi anche

Si applica a

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

Produce l'intersezione set di due sequenze in base a una funzione di selettore di chiavi specificata.

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)

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.

TKey

Tipo di chiave da cui identificare gli elementi.

Parametri

first
IEnumerable<TSource>

Oggetto IEnumerable<T> di cui verranno restituiti gli elementi distinti che sono presenti anche in second.

second
IEnumerable<TKey>

Oggetto IEnumerable<T> di cui verranno restituiti gli elementi distinti presenti anche nella prima sequenza.

keySelector
Func<TSource,TKey>

Funzione per estrarre la chiave per ogni elemento.

Restituisce

IEnumerable<TSource>

Sequenza che contiene gli elementi che formano l'intersezione insiemistica delle due sequenze.

Eccezioni

first o second è null.

Commenti

Questo metodo viene implementato usando l'esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto non viene enumerato chiamando il GetEnumerator relativo metodo direttamente o usando foreach in C# o For Each in Visual Basic.

L'intersezione di due set A e B è definita come set che contiene tutti gli elementi di A che appaiono anche in B, ma nessun altro elemento.

Quando l'oggetto restituito da questo metodo viene enumerato, Intersect restituisce elementi distinti che si verificano in entrambe le sequenze nell'ordine in cui vengono visualizzate in first.

Il comparer di uguaglianza predefinito, Default, viene usato per confrontare i valori.

Vedi anche

Si applica a