Condividi tramite


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 del selettore di tasti specificata.

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

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

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

Origine:
Intersect.cs
Origine:
Intersect.cs
Origine:
Intersect.cs

Produce l'intersezione set di due sequenze in base a una funzione del selettore di tasti 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 per 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 fino a quando l'oggetto non viene enumerato chiamando direttamente il relativo GetEnumerator metodo o usando foreach in C# o For Each in Visual Basic.

L'intersezione di due set A e B viene definita come set che contiene tutti gli elementi di A che vengono visualizzati 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, l'operatore di confronto di uguaglianza predefinito, Default, viene usato per confrontare i valori.

Vedi anche

Si applica a

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

Origine:
Intersect.cs
Origine:
Intersect.cs
Origine:
Intersect.cs

Produce l'intersezione set di due sequenze in base a una funzione del selettore di tasti 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 per 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 fino a quando l'oggetto non viene enumerato chiamando direttamente il relativo GetEnumerator metodo o usando foreach in C# o For Each in Visual Basic.

L'intersezione di due set A e B viene definita come set che contiene tutti gli elementi di A che vengono visualizzati 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.

L'operatore di confronto di uguaglianza predefinito, Default, viene usato per confrontare i valori.

Vedi anche

Si applica a