Queryable.Intersect Metodo

Definizione

Produce l'intersezione insiemistica delle due sequenze.

Overload

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

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

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produce l’intersezione insiemistica delle due sequenze utilizzando l’oggetto IEqualityComparer<T> specificato per confrontare i valori.

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

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

C#
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.

Parametri

source1
IQueryable<TSource>

Una sequenza di cui vengono restituiti gli elementi distinti presenti anche in source2.

source2
IEnumerable<TSource>

Una sequenza di cui vengono restituiti gli elementi distinti presenti anche nella prima sequenza.

Restituisce

IQueryable<TSource>

Una sequenza che contiene l'intersezione insiemistica delle due sequenze.

Eccezioni

source1 o source2 è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) per restituire gli elementi visualizzati in ognuna di due sequenze.

C#
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
*/

Commenti

Il Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodo genera un MethodCallExpression oggetto che rappresenta Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) se stesso come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al CreateQuery<TElement>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source1 parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo del source1 parametro. Il comportamento previsto è che vengono restituiti anche tutti gli elementi in source1 in source2 .

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Produce l’intersezione insiemistica delle due sequenze utilizzando l’oggetto IEqualityComparer<T> specificato per confrontare i valori.

C#
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource> comparer);
C#
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.

Parametri

source1
IQueryable<TSource>

Un oggetto IQueryable<T> di cui vengono restituiti gli elementi distinti che sono presenti anche in source2.

source2
IEnumerable<TSource>

Un oggetto IEnumerable<T> di cui vengono restituiti gli elementi distinti presenti anche nella prima sequenza.

comparer
IEqualityComparer<TSource>

Oggetto IEqualityComparer<T> per confrontare i valori.

Restituisce

IQueryable<TSource>

Oggetto IQueryable<T> che contiene l’intersezione insiemistica delle due sequenze.

Eccezioni

source1 o source2 è null.

Commenti

Il Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) metodo genera un MethodCallExpression oggetto che rappresenta Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) se stesso come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al CreateQuery<TElement>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source1 parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dipende dall'implementazione del tipo del source1 parametro. Il comportamento previsto è che vengono restituiti anche tutti gli elementi in source1 in source2 . Il comparer parametro viene usato per confrontare gli elementi.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0