Queryable.Intersect Metodo

Definizione

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

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.Produces the set intersection of two sequences by using the default equality comparer to compare values.

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.Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values.

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

Produce l’intersezione insiemistica di due sequenze utilizzando l'operatore di confronto uguaglianze predefinito per confrontare i 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 di cui vengono restituiti gli elementi distinti presenti anche in source2.A sequence whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Una sequenza di cui vengono restituiti gli elementi distinti presenti anche nella prima sequenza.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.

Esempio

Nell'esempio di codice riportato di seguito 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 oggetto MethodCallExpression che rappresenta la chiamata a Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) se stesso come 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 al MethodCallExpression CreateQuery<TElement>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla 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 della query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta la chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dipende dall'implementazione del tipo di 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 source1 vengono restituiti anche tutti gli elementi di presenti in source2 .The expected behavior is that all the elements in source1 that are also in source2 are returned.

Si applica a

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.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);
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 oggetto IQueryable<T> di cui vengono restituiti gli elementi distinti che sono presenti anche in source2.An IQueryable<T> whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Un oggetto IEnumerable<T> di cui vengono restituiti gli 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>

Oggetto 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 oggetto MethodCallExpression che rappresenta la chiamata a Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) se stesso come 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 al MethodCallExpression CreateQuery<TElement>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla 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 della query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta la chiamata Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dipende dall'implementazione del tipo di 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 source1 vengono restituiti anche tutti gli elementi di presenti in source2 .The expected behavior is that all the elements in source1 that are also in source2 are returned. Il comparer parametro viene usato per confrontare gli elementi.The comparer parameter is used to compare elements.

Si applica a