Queryable.Intersect Método

Definición

Proporciona la intersección de conjuntos de dos secuencias.Produces the set intersection of two sequences.

Sobrecargas

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

Proporciona la intersección de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado para comparar los valores.Produces the set intersection of two sequences by using the default equality comparer to compare values.

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

Proporciona la intersección de conjuntos de dos secuencias utilizando el objeto IEqualityComparer<T> especificado para comparar los valores.Produces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values.

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

Proporciona la intersección de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado para comparar los valores.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)

Parámetros de tipo

TSource

Tipo de los elementos de las secuencias de entrada.The type of the elements of the input sequences.

Parámetros

source1
IQueryable<TSource>

Secuencia de la que se devuelven los elementos que también aparecen en source2.A sequence whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Secuencia de la que se devuelven los elementos que también aparecen en la primera secuencia.A sequence whose distinct elements that also appear in the first sequence are returned.

Devoluciones

IQueryable<TSource>

Una secuencia que contiene la intersección de conjuntos de las dos secuencias.A sequence that contains the set intersection of the two sequences.

Excepciones

source1 o source2 es null.source1 or source2 is null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) para devolver los elementos que aparecen en cada una de las dos secuencias.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

Comentarios

El Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) método genera un MethodCallExpression que representa la llamada a Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sí mismo como un método genérico construido.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. A continuación, pasa el MethodCallExpression al CreateQuery<TElement>(Expression) método de IQueryProvider representado por la Provider propiedad del source1 parámetro.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) la llamada depende de la implementación del tipo del source1 parámetro.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. El comportamiento esperado es que se devuelvan todos los elementos de source1 que también se encuentran en source2 .The expected behavior is that all the elements in source1 that are also in source2 are returned.

Se aplica a

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

Proporciona la intersección de conjuntos de dos secuencias utilizando el objeto IEqualityComparer<T> especificado para comparar los valores.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)

Parámetros de tipo

TSource

Tipo de los elementos de las secuencias de entrada.The type of the elements of the input sequences.

Parámetros

source1
IQueryable<TSource>

Una interfaz IQueryable<T> de la que se devuelven los elementos que también aparecen en source2.An IQueryable<T> whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Una interfaz IEnumerable<T> de la que se devuelven los elementos que también aparecen en la primera secuencia.An IEnumerable<T> whose distinct elements that also appear in the first sequence are returned.

comparer
IEqualityComparer<TSource>

IEqualityComparer<T> para comparar valores.An IEqualityComparer<T> to compare values.

Devoluciones

IQueryable<TSource>

Una interfaz IQueryable<T> que contiene la intersección de conjuntos de las dos secuencias.An IQueryable<T> that contains the set intersection of the two sequences.

Excepciones

source1 o source2 es null.source1 or source2 is null.

Comentarios

El Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) método genera un MethodCallExpression que representa la llamada a Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sí mismo como un método genérico construido.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. A continuación, pasa el MethodCallExpression al CreateQuery<TElement>(Expression) método de IQueryProvider representado por la Provider propiedad del source1 parámetro.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) la llamada depende de la implementación del tipo del source1 parámetro.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. El comportamiento esperado es que se devuelvan todos los elementos de source1 que también se encuentran en source2 .The expected behavior is that all the elements in source1 that are also in source2 are returned. El comparer parámetro se usa para comparar los elementos.The comparer parameter is used to compare elements.

Se aplica a