Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Queryable.Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

 

Data di pubblicazione: ottobre 2016

Produce l’intersezione insiemistica di due sequenze utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TSource> Intersect<TSource>(
	this IQueryable<TSource> source1,
	IEnumerable<TSource> source2
)

Parametri

source1
Type: System.Linq.IQueryable<TSource>

Sequenza i cui elementi distinti presenti anche in source2 vengono restituiti.

source2
Type: System.Collections.Generic.IEnumerable<TSource>

Vengono restituiti una sequenza i cui elementi distinti presenti anche nella prima sequenza.

Valore restituito

Type: System.Linq.IQueryable<TSource>

Sequenza che contiene l'intersezione insiemistica delle due sequenze.

Parametri tipo

TSource

Tipo degli elementi delle sequenze di input.

Exception Condition
ArgumentNullException

source1 o source2 è null.

Il Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source1 parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo di source1 parametro. Il comportamento previsto è che tutti gli elementi di source1 che sono anche in source2 vengono restituiti.

Esempio di codice seguente viene illustrato come utilizzare Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) per restituire gli elementi visualizzati in ognuna delle due sequenze.

int[] id1 = { 44, 26, 92, 30, 71, 38 };
int[] id2 = { 39, 59, 83, 47, 26, 4, 30 };

// Get the numbers that occur in both arrays (id1 and id2).
IEnumerable<int> both = id1.AsQueryable().Intersect(id2);

foreach (int id in both)
    Console.WriteLine(id);

/*
    This code produces the following output:

    26
    30
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: