Queryable.Intersect Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Produit l’intersection définie de deux séquences.
Surcharges
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Produit l’intersection définie 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 définie de deux séquences à l’aide de la IEqualityComparer<T> spécifiée pour comparer les valeurs. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Produit l’intersection définie 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 apparaissent également dans source2
sont retournés.
- source2
- IEnumerable<TSource>
Séquence dont les éléments distincts apparaissent également dans la première séquence sont retournés.
Retours
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 méthode Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) génère une MethodCallExpression qui représente l’appel de Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) elle-même en tant que méthode générique construite. Il transmet ensuite la MethodCallExpression à la méthode CreateQuery<TElement>(Expression) de l'IQueryProvider représentée par la propriété Provider du paramètre source1
.
Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel de Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) dépend de l’implémentation du type du paramètre source1
. Le comportement attendu est que tous les éléments de source1
qui se trouvent é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 définie de deux séquences à l’aide de la IEqualityComparer<T> spécifiée 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 apparaissent également dans source2
sont retournés.
- source2
- IEnumerable<TSource>
Une IEnumerable<T> dont les éléments distincts qui apparaissent également dans la première séquence sont retournés.
- comparer
- IEqualityComparer<TSource>
Une IEqualityComparer<T> pour comparer les valeurs.
Retours
Un IQueryable<T> qui contient l’intersection définie des deux séquences.
Exceptions
source1
ou source2
est null
.
Remarques
La méthode Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) génère une MethodCallExpression qui représente l’appel de Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) elle-même en tant que méthode générique construite. Il transmet ensuite la MethodCallExpression à la méthode CreateQuery<TElement>(Expression) de l'IQueryProvider représentée par la propriété Provider du paramètre source1
.
Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel de Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) dépend de l’implémentation du type du paramètre source1
. Le comportement attendu est que tous les éléments de source1
qui se trouvent également dans source2
sont retournés. Le paramètre comparer
est utilisé pour comparer les éléments.