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.