Partager via


Queryable.Intersect Méthode

Définition

Produit l'intersection de deux séquences.

Surcharges

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

Produit l'intersection de deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs.

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

Produit l'intersection entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs.

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

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

Produit l'intersection de deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs.

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)

Paramètres de type

TSource

Type des éléments des séquences d'entrée.

Paramètres

source1
IQueryable<TSource>

Séquence dont les éléments distincts qui apparaissent également dans source2 sont retournés.

source2
IEnumerable<TSource>

Séquence dont les éléments distincts qui apparaissent également dans la première séquence sont retournés.

Retours

IQueryable<TSource>

Séquence qui contient l'intersection définie des deux séquences.

Exceptions

source1 ou source2 est null.

Exemples

L’exemple de code suivant montre comment utiliser Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) pour retourner les éléments qui apparaissent dans chacune des deux séquences.

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

Remarques

La Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) méthode génère un MethodCallExpression qui représente l’appel Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source1 paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dépend de l’implémentation du type du source1 paramètre. Le comportement attendu est que tous les éléments dans source1 qui sont également dans source2 sont retournés.

S’applique à

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

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

Produit l'intersection entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs.

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)

Paramètres de type

TSource

Type des éléments des séquences d'entrée.

Paramètres

source1
IQueryable<TSource>

Un IQueryable<T> dont les éléments distincts qui apparaissent également dans source2 sont retournés.

source2
IEnumerable<TSource>

Un IEnumerable<T> dont les éléments distincts qui apparaissent également dans la première séquence sont retournés.

comparer
IEqualityComparer<TSource>

IEqualityComparer<T> pour comparer les valeurs.

Retours

IQueryable<TSource>

IQueryable<T> qui contient l'intersection définie des deux séquences.

Exceptions

source1 ou source2 est null.

Remarques

La Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) méthode génère un MethodCallExpression qui représente l’appel Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) de lui-même en tant que méthode générique construite. Il passe ensuite le MethodCallExpression à la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source1 paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dépend de l’implémentation du type du source1 paramètre. Le comportement attendu est que tous les éléments dans source1 qui sont également dans source2 sont retournés. Le comparer paramètre est utilisé pour comparer des éléments.

S’applique à