Queryable.Intersect Queryable.Intersect Queryable.Intersect Queryable.Intersect Method

Definizione

Produce l'intersezione insiemistica delle due sequenze.Produces the set intersection of two sequences.

Overload

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

Produce l'intersezione insiemistica delle due sequenze utilizzando l'operatore di confronto uguaglianze predefinito per confrontare valori.Produces the set intersection of two sequences by using the default equality comparer to compare values.

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

Produce l'intersezione insiemistica delle due sequenze utilizzando l'oggetto specificato IEqualityComparer<T> per confrontare i valori.Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values.

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

Produce l'intersezione insiemistica delle due sequenze utilizzando l'operatore di confronto uguaglianze predefinito per confrontare valori.Produces the set intersection of two sequences by using the default equality comparer to compare values.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Intersect(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static System.Linq.IQueryable<TSource> Intersect<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member Intersect : System.Linq.IQueryable<'Source> * seq<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Intersect(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource)) As IQueryable(Of TSource)

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.The type of the elements of the input sequences.

Parametri

source1
IQueryable<TSource>

Una sequenza i cui elementi distinti presenti anche in source2 vengono restituiti.A sequence whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Sequenza i cui elementi distinti presenti anche nella prima sequenza vengono restituiti.A sequence whose distinct elements that also appear in the first sequence are returned.

Restituisce

IQueryable<TSource>

Una sequenza che contiene l'intersezione insiemistica delle due sequenze.A sequence that contains the set intersection of the two sequences.

Eccezioni

source1 o source2 è null.source1 or source2 is null.

Esempi

Esempio di codice seguente viene illustrato come utilizzare Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) per restituire gli elementi visualizzati in ognuna delle due sequenze.The following code example demonstrates how to use Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) to return the elements that appear in each of two sequences.

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

Dim id1() As Integer = {44, 26, 92, 30, 71, 38}
Dim id2() As Integer = {39, 59, 83, 47, 26, 4, 30}

' Get the numbers that occur in both arrays (id1 and id2).
Dim both As IEnumerable(Of Integer) = id1.AsQueryable().Intersect(id2)

Dim output As New System.Text.StringBuilder
For Each id As Integer In both
    output.AppendLine(id)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:

' 26
' 30

Commenti

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.The Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) method generates a MethodCallExpression that represents calling Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) itself as a constructed generic method. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source1 parametro.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Il comportamento delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo del source1 parametro.The query behavior that occurs as a result of executing an expression tree that represents calling Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depends on the implementation of the type of the source1 parameter. Il comportamento previsto è che tutti gli elementi source1 che si trovano anche in source2 vengono restituiti.The expected behavior is that all the elements in source1 that are also in source2 are returned.

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

Produce l'intersezione insiemistica delle due sequenze utilizzando l'oggetto specificato IEqualityComparer<T> per confrontare i valori.Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Intersect(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
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);
static member Intersect : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Intersect(Of TSource) (source1 As IQueryable(Of TSource), source2 As IEnumerable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)

Parametri di tipo

TSource

Tipo degli elementi delle sequenze di input.The type of the elements of the input sequences.

Parametri

source1
IQueryable<TSource>

Un' IQueryable<T> cui elementi distinti presenti anche in source2 vengono restituiti.An IQueryable<T> whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Un IEnumerable<T> vengono restituiti i cui elementi distinti presenti anche nella prima sequenza.An IEnumerable<T> whose distinct elements that also appear in the first sequence are returned.

comparer
IEqualityComparer<TSource>

Oggetto IEqualityComparer<T> per confrontare i valori.An IEqualityComparer<T> to compare values.

Restituisce

IQueryable<TSource>

Un IQueryable<T> che contiene l'intersezione insiemistica delle due sequenze.An IQueryable<T> that contains the set intersection of the two sequences.

Eccezioni

source1 o source2 è null.source1 or source2 is null.

Commenti

Il Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) stesso come un metodo generico costruito.The Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) itself as a constructed generic method. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source1 parametro.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Il comportamento delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dipende dall'implementazione del tipo del source1 parametro.The query behavior that occurs as a result of executing an expression tree that represents calling Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) depends on the implementation of the type of the source1 parameter. Il comportamento previsto è che tutti gli elementi source1 che si trovano anche in source2 vengono restituiti.The expected behavior is that all the elements in source1 that are also in source2 are returned. Il comparer parametro viene utilizzato per confrontare gli elementi.The comparer parameter is used to compare elements.

Si applica a