Queryable.Union 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ří sjednocení sady dvou sekvencí.
Přetížení
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Vytvoří sjednocení sady dvou sekvencí pomocí výchozího porovnávače rovnosti. |
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří sjednocení sady dvou sekvencí pomocí zadaného IEqualityComparer<T>. |
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří sjednocení sady dvou sekvencí pomocí výchozího porovnávače rovnosti.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Union(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2);
public static System.Linq.IQueryable<TSource> Union<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);
static member Union : System.Linq.IQueryable<'Source> * seq<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Union(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 tvoří první sadu pro operaci sjednocení.
- source2
- IEnumerable<TSource>
Sekvence, jejíž jedinečné prvky tvoří druhou sadu pro operaci sjednocení.
Návraty
Obsahuje IQueryable<T> prvky z obou vstupních sekvencí s výjimkou duplicit.
Výjimky
source1
nebo source2
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) k získání sjednocení sady dvou sekvencí.
int[] ints1 = { 5, 3, 9, 7, 5, 9, 3, 7 };
int[] ints2 = { 8, 3, 6, 4, 4, 9, 1, 0 };
// Get the set union of the items in the two arrays.
IEnumerable<int> union = ints1.AsQueryable().Union(ints2);
foreach (int num in union)
Console.Write("{0} ", num);
/*
This code produces the following output:
5 3 9 7 8 6 4 1 0
*/
Dim ints1() As Integer = {5, 3, 9, 7, 5, 9, 3, 7}
Dim ints2() As Integer = {8, 3, 6, 4, 4, 9, 1, 0}
' Get the set union of the items in the two arrays.
Dim union = ints1.AsQueryable().Union(ints2)
Dim output As New System.Text.StringBuilder
For Each num As Integer In union
output.Append(String.Format("{0} ", num))
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
' 5 3 9 7 8 6 4 1 0
Poznámky
Metoda Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) vygeneruje MethodCallExpression , který představuje volání Union<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í Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , závisí na implementaci typu parametru source1
. Očekávané chování je, že se vrátí sjednocení prvků sady v source1
a source2
.
Platí pro
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří sjednocení sady dvou sekvencí pomocí zadaného IEqualityComparer<T>.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Union(System::Linq::IQueryable<TSource> ^ source1, System::Collections::Generic::IEnumerable<TSource> ^ source2, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Union<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> Union<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Union : System.Linq.IQueryable<'Source> * seq<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Union(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>
Sekvence, jejíž jedinečné prvky tvoří první sadu pro operaci sjednocení.
- source2
- IEnumerable<TSource>
Sekvence, jejíž jedinečné prvky tvoří druhou sadu pro operaci sjednocení.
- comparer
- IEqualityComparer<TSource>
K porovnání hodnot.IEqualityComparer<T>
Návraty
Obsahuje IQueryable<T> prvky z obou vstupních sekvencí s výjimkou duplicit.
Výjimky
source1
nebo source2
je null
.
Poznámky
Metoda Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) vygeneruje MethodCallExpression , který představuje volání Union<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í Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , závisí na implementaci typu parametru source1
. Očekávané chování je, že se vrátí sjednocení prvků sady v source1
a source2
. Parametr comparer
se používá k porovnání hodnot.