Queryable.Intersect Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar den angivna skärningspunkten för två sekvenser.
Överlagringar
| Name | Description |
|---|---|
| Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Genererar den angivna skärningspunkten för två sekvenser med hjälp av standardjämlikhetsjämförlikningsjämföraren för att jämföra värden. |
| Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Skapar den angivna skärningspunkten mellan två sekvenser med hjälp av angivna IEqualityComparer<T> för att jämföra värden. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
Genererar den angivna skärningspunkten för två sekvenser med hjälp av standardjämlikhetsjämförlikningsjämföraren för att jämföra värden.
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)
Typparametrar
- TSource
Typ av element i indatasekvenserna.
Parametrar
- source1
- IQueryable<TSource>
En sekvens vars distinkta element som också visas i source2 returneras.
- source2
- IEnumerable<TSource>
En sekvens vars distinkta element som också visas i den första sekvensen returneras.
Returer
En sekvens som innehåller den angivna skärningspunkten för de två sekvenserna.
- Attribut
Undantag
source1 eller source2 är null.
Exempel
Följande kodexempel visar hur du använder Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) för att returnera de element som visas i var och en av två sekvenser.
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
Kommentarer
Metoden Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) genererar en MethodCallExpression som representerar att anropa Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sig själv som en konstruerad generisk metod. Den skickar sedan till MethodCallExpression metoden för den CreateQuery<TElement>(Expression) som representeras av IQueryProvider egenskapen för parameternProvider.source1
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) körs beror på implementeringen av source1 parametertypen. Det förväntade beteendet är att alla element i source1 som också finns i source2 returneras.
Gäller för
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
Skapar den angivna skärningspunkten mellan två sekvenser med hjälp av angivna IEqualityComparer<T> för att jämföra värden.
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)
Typparametrar
- TSource
Typ av element i indatasekvenserna.
Parametrar
- source1
- IQueryable<TSource>
En IQueryable<T> vars distinkta element som också visas i source2 returneras.
- source2
- IEnumerable<TSource>
En IEnumerable<T> vars distinkta element som också visas i den första sekvensen returneras.
- comparer
- IEqualityComparer<TSource>
En IEqualityComparer<T> för att jämföra värden.
Returer
En IQueryable<T> som innehåller den angivna skärningspunkten för de två sekvenserna.
- Attribut
Undantag
source1 eller source2 är null.
Kommentarer
Metoden Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) genererar en MethodCallExpression som representerar att anropa Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sig själv som en konstruerad generisk metod. Den skickar sedan till MethodCallExpression metoden för den CreateQuery<TElement>(Expression) som representeras av IQueryProvider egenskapen för parameternProvider.source1
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) körs beror på implementeringen av source1 parametertypen. Det förväntade beteendet är att alla element i source1 som också finns i source2 returneras. Parametern comparer används för att jämföra element.