Queryable.Intersect Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erzeugt die Festgelegte Schnittmenge von zwei Sequenzen.
Überlädt
| Name | Beschreibung |
|---|---|
| Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Erzeugt die festgelegte Schnittmenge von zwei Sequenzen mithilfe des Standardgleichgleichsabgleichs zum Vergleichen von Werten. |
| Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Erzeugt die festgelegte Schnittmenge von zwei Sequenzen mithilfe der angegebenen IEqualityComparer<T> zum Vergleichen von Werten. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt die festgelegte Schnittmenge von zwei Sequenzen mithilfe des Standardgleichgleichsabgleichs zum Vergleichen von Werten.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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.
Parameter
- source1
- IQueryable<TSource>
Eine Sequenz, deren unterschiedliche Elemente, die source2 ebenfalls angezeigt werden, zurückgegeben werden.
- source2
- IEnumerable<TSource>
Eine Sequenz, deren unterschiedliche Elemente, die auch in der ersten Sequenz angezeigt werden, zurückgegeben werden.
Gibt zurück
Eine Sequenz, die die festgelegte Schnittmenge der beiden Sequenzen enthält.
- Attribute
Ausnahmen
source1 oder source2 ist null.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) die Elemente zurückgegeben werden, die in jeder von zwei Sequenzen angezeigt werden.
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 eine MethodCallExpression , die den Aufruf Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der CreateQuery<TElement>(Expression)IQueryProvider durch die Provider Eigenschaft des source1 Parameters dargestellten Methode übergeben.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass alle Elemente, in source1 denen sich auch befinden source2 , zurückgegeben werden.
Gilt für:
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt die festgelegte Schnittmenge von zwei Sequenzen mithilfe der angegebenen IEqualityComparer<T> zum Vergleichen von Werten.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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.
Parameter
- source1
- IQueryable<TSource>
Ein IQueryable<T> Element, dessen unterschiedliche Elemente zurückgegeben werden, die source2 ebenfalls angezeigt werden.
- source2
- IEnumerable<TSource>
Ein IEnumerable<T> Element, dessen unterschiedliche Elemente, die auch in der ersten Sequenz angezeigt werden, zurückgegeben werden.
- comparer
- IEqualityComparer<TSource>
Eine IEqualityComparer<T> zum Vergleichen von Werten.
Gibt zurück
Eine IQueryable<T> , die die festgelegte Schnittmenge der beiden Sequenzen enthält.
- Attribute
Ausnahmen
source1 oder source2 ist null.
Hinweise
Die Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) Methode generiert eine MethodCallExpression , die den Aufruf Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der CreateQuery<TElement>(Expression)IQueryProvider durch die Provider Eigenschaft des source1 Parameters dargestellten Methode übergeben.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass alle Elemente, in source1 denen sich auch befinden source2 , zurückgegeben werden. Der comparer Parameter wird zum Vergleichen von Elementen verwendet.