Compartir vía


Queryable.Intersect Método

Definición

Proporciona la intersección de conjuntos de dos secuencias.

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.

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.

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Proporciona la intersección de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado para comparar los valores.

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.

Parámetros

source1
IQueryable<TSource>

Secuencia de la que se devuelven los elementos que también aparecen en source2.

source2
IEnumerable<TSource>

Secuencia de la que se devuelven los elementos que también aparecen en la primera secuencia.

Devoluciones

IQueryable<TSource>

Una secuencia que contiene la intersección de conjuntos de las dos secuencias.

Excepciones

source1 o source2 es 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.

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 objeto que representa llamarse Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionCreateQuery<TElement>(Expression) método del IQueryProvider representado por la Provider propiedad del source1 parámetro .

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depende de la implementación del tipo del source1 parámetro. El comportamiento esperado es que se devuelvan todos los elementos de source1 que también están en source2 .

Se aplica a

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Proporciona la intersección de conjuntos de dos secuencias utilizando el objeto IEqualityComparer<T> especificado para comparar los valores.

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.

Parámetros

source1
IQueryable<TSource>

Una interfaz IQueryable<T> de la que se devuelven los elementos que también aparecen en source2.

source2
IEnumerable<TSource>

Una interfaz IEnumerable<T> de la que se devuelven los elementos que también aparecen en la primera secuencia.

comparer
IEqualityComparer<TSource>

IEqualityComparer<T> para comparar valores.

Devoluciones

IQueryable<TSource>

Una interfaz IQueryable<T> que contiene la intersección de conjuntos de las dos secuencias.

Excepciones

source1 o source2 es null.

Comentarios

El Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) método genera un MethodCallExpression objeto que representa llamarse Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionCreateQuery<TElement>(Expression) método del IQueryProvider representado por la Provider propiedad del source1 parámetro .

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) depende de la implementación del tipo del source1 parámetro. El comportamiento esperado es que se devuelvan todos los elementos de source1 que también están en source2 . El comparer parámetro se usa para comparar elementos.

Se aplica a