Queryable.Intersect Methode

Definitie

Produceert het ingestelde snijpunt van twee reeksen.

Overloads

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

Produceert het set snijpunt van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

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

Produceert het snijpunt van twee reeksen met behulp van het opgegeven om IEqualityComparer<T> waarden te vergelijken.

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

Produceert het set snijpunt van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

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)

Type parameters

TSource

Het type van de elementen van de invoerreeksen.

Parameters

source1
IQueryable<TSource>

Een reeks waarvan de afzonderlijke elementen die ook worden source2 weergegeven, worden geretourneerd.

source2
IEnumerable<TSource>

Een reeks waarvan de afzonderlijke elementen die ook in de eerste reeks worden weergegeven, worden geretourneerd.

Retouren

IQueryable<TSource>

Een reeks die het snijpunt van de twee reeksen bevat.

Uitzonderingen

source1 of source2 is null.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) u de elementen kunt retourneren die in elk van twee reeksen worden weergegeven.

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

Opmerkingen

De Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery<TElement>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source1 parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , is afhankelijk van de implementatie van het type source1 parameter. Het verwachte gedrag is dat alle elementen in source1 die ook worden source2 geretourneerd.

Van toepassing op

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

Produceert het snijpunt van twee reeksen met behulp van het opgegeven om IEqualityComparer<T> waarden te vergelijken.

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);
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)

Type parameters

TSource

Het type van de elementen van de invoerreeksen.

Parameters

source1
IQueryable<TSource>

Een IQueryable<T> waarvan de afzonderlijke elementen die ook worden source2 weergegeven, worden geretourneerd.

source2
IEnumerable<TSource>

Een IEnumerable<T> wiens afzonderlijke elementen ook in de eerste reeks worden weergegeven, worden geretourneerd.

comparer
IEqualityComparer<TSource>

Een IEqualityComparer<T> om waarden te vergelijken.

Retouren

IQueryable<TSource>

Een IQueryable<T> die het snijpunt van de twee reeksen bevat.

Uitzonderingen

source1 of source2 is null.

Opmerkingen

De Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery<TElement>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source1 parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , is afhankelijk van de implementatie van het type source1 parameter. Het verwachte gedrag is dat alle elementen in source1 die ook worden source2 geretourneerd. De comparer parameter wordt gebruikt om elementen te vergelijken.

Van toepassing op