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ří množinu průniku dvou sekvencí.
Přetížení
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Vytvoří množinu průniku dvou sekvencí pomocí výchozího porovnávače rovnosti k porovnání hodnot. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří množinu průniku dvou sekvencí pomocí zadané IEqualityComparer<T> k porovnání hodnot. |
Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří množinu průniku dvou sekvencí pomocí výchozího porovnávače rovnosti k 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>
Vrátí se sekvence, jejíž jedinečné prvky, které se také zobrazují v první sekvenci.
Návraty
Sekvence, která obsahuje množinu průniku dvou 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 metodu MethodCallExpression , která představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderCreateQuery<TElement>(Expression) reprezentované Provider vlastností parametru source1
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, 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 jsou vráceny všechny prvky, source1
které jsou také v source2
.
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é IEqualityComparer<T> k 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é zobrazují v source2
, jsou vráceny.
- source2
- IEnumerable<TSource>
Jejíž IEnumerable<T> jedinečné prvky, které se také objevují v první sekvenci, jsou vráceny.
- comparer
- IEqualityComparer<TSource>
An IEqualityComparer<T> pro porovnání hodnot.
Návraty
Objekt IQueryable<T> , který obsahuje 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 metodu MethodCallExpression , která představuje volání Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderCreateQuery<TElement>(Expression) reprezentované Provider vlastností parametru source1
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, 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 jsou vráceny všechny prvky, source1
které jsou také v source2
. Parametr se comparer
používá k porovnání prvků.