Queryable.Intersect Methode

Definition

Erzeugt die Schnittmenge zweier SequenzenProduces the set intersection of two sequences.

Überlädt

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

Erzeugt die Schnittmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von WertenProduces the set intersection of two sequences by using the default equality comparer to compare values.

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> zum Vergleichen von Werten die Schnittmenge von zwei SequenzenProduces the set intersection of two sequences by using the specified IEqualityComparer<T> to compare values.

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

Erzeugt die Schnittmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von WertenProduces 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)

Typparameter

TSource

Der Typ der Elemente der Eingabesequenzen.The type of the elements of the input sequences.

Parameter

source1
IQueryable<TSource>

Eine Sequenz, deren unterschiedliche Elemente, die auch in source2 vorhanden sind, zurückgegeben werden.A sequence whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Eine Sequenz, deren unterschiedliche Elemente, die auch in der ersten Sequenz vorhanden sind, zurückgegeben werden.A sequence whose distinct elements that also appear in the first sequence are returned.

Gibt zurück

IQueryable<TSource>

Eine Sequenz, die die Schnittmenge der beiden Sequenzen enthält.A sequence that contains the set intersection of the two sequences.

Ausnahmen

source1 oder source2 ist null.source1 or source2 is null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie verwendet wird, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) um die Elemente zurückzugeben, die in jeder der beiden Sequenzen angezeigt werden.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

Hinweise

Die- Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Methode generiert einen, der den MethodCallExpression Aufruf von Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sich selbst als konstruierte generische Methode darstellt.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. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source1 Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) hängt von der Implementierung des Typs des source1 Parameters ab.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. Das erwartete Verhalten ist, dass alle Elemente in source1 , die ebenfalls in sind, source2 zurückgegeben werden.The expected behavior is that all the elements in source1 that are also in source2 are returned.

Gilt für:

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> zum Vergleichen von Werten die Schnittmenge von zwei SequenzenProduces 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)

Typparameter

TSource

Der Typ der Elemente der Eingabesequenzen.The type of the elements of the input sequences.

Parameter

source1
IQueryable<TSource>

Ein IQueryable<T>, dessen unterschiedliche Elemente, die auch in source2 vorhanden sind, zurückgegeben werden.An IQueryable<T> whose distinct elements that also appear in source2 are returned.

source2
IEnumerable<TSource>

Ein IEnumerable<T>, dessen unterschiedliche Elemente, die auch in der ersten Sequenz vorhanden sind, zurückgegeben werden.An IEnumerable<T> whose distinct elements that also appear in the first sequence are returned.

comparer
IEqualityComparer<TSource>

Ein IEqualityComparer<T> zum Vergleichen von Werten.An IEqualityComparer<T> to compare values.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das die Schnittmenge der beiden Sequenzen enthält.An IQueryable<T> that contains the set intersection of the two sequences.

Ausnahmen

source1 oder source2 ist null.source1 or source2 is null.

Hinweise

Die- Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) Methode generiert einen, der den MethodCallExpression Aufruf von Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sich selbst als konstruierte generische Methode darstellt.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. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source1 Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) hängt von der Implementierung des Typs des source1 Parameters ab.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. Das erwartete Verhalten ist, dass alle Elemente in source1 , die ebenfalls in sind, source2 zurückgegeben werden.The expected behavior is that all the elements in source1 that are also in source2 are returned. Der- comparer Parameter wird zum Vergleichen von Elementen verwendet.The comparer parameter is used to compare elements.

Gilt für: