Queryable.Intersect Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří průnik sady dvou sekvencí.
Přetížení
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Vytvoří průnik sady dvou sekvencí pomocí výchozího porovnávače rovnosti pro porovnání hodnot. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří množinu průniku dvou sekvencí pomocí zadaného IEqualityComparer<T> pro porovnání hodnot. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří průnik sady dvou sekvencí pomocí výchozího porovnávače rovnosti pro porovnání hodnot.
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)
Parametry typu
- TSource
Typ prvků vstupních sekvencí.
Parametry
- source1
- IQueryable<TSource>
Sekvence, jejíž jedinečné prvky, které se také zobrazují v source2
, jsou vráceny.
- source2
- IEnumerable<TSource>
Sekvence, jejíž jedinečné prvky, které se také objevují v první sekvenci, jsou vráceny.
Návraty
Sekvence, která obsahuje množinu průniku obou sekvencí.
Výjimky
source1
nebo source2
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) k vrácení prvků, které se zobrazí v každé ze dvou sekvencí.
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
Poznámky
Metoda Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) vygeneruje MethodCallExpression , který představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionCreateQuery<TElement>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source1
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , závisí na implementaci typu parametru source1
. Očekávané chování je, že všechny prvky v source1
, které jsou také v source2
, jsou vráceny.
Platí pro
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří množinu průniku dvou sekvencí pomocí zadaného IEqualityComparer<T> pro porovnání hodnot.
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)
Parametry typu
- TSource
Typ prvků vstupních sekvencí.
Parametry
- source1
- IQueryable<TSource>
Jejíž IQueryable<T> jedinečné prvky, které se také vyskytují v source2
, jsou vráceny.
- source2
- IEnumerable<TSource>
Objekt IEnumerable<T> , jehož jedinečné prvky, které se také objevují v první sekvenci, jsou vráceny.
- comparer
- IEqualityComparer<TSource>
K porovnání hodnot.IEqualityComparer<T>
Návraty
Obsahuje IQueryable<T> množinu průniku dvou sekvencí.
Výjimky
source1
nebo source2
je null
.
Poznámky
Metoda Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) vygeneruje MethodCallExpression , který představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionCreateQuery<TElement>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source1
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , závisí na implementaci typu parametru source1
. Očekávané chování je, že všechny prvky v source1
, které jsou také v source2
, jsou vráceny. Parametr comparer
se používá k porovnání prvků.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro