Freigeben über


Queryable.Union Methode

Definition

Erzeugt die Vereinigungsmenge von zwei Sequenzen

Überlädt

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Erzeugt mithilfe eines angegebenen IEqualityComparer<T> die Vereinigungsmenge von zwei Sequenzen

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs

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)

Typparameter

TSource

Der Typ der Elemente der Eingabesequenzen.

Parameter

source1
IQueryable<TSource>

Eine Sequenz, deren unterschiedliche Elemente den ersten Satz für die Gesamtmengenbildung darstellen.

source2
IEnumerable<TSource>

Eine Sequenz, deren unterschiedliche Elemente den zweiten Satz für die Gesamtmengenbildung darstellen.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das die Elemente aus beiden Eingabesequenzen ohne Duplikate enthält

Ausnahmen

source1 oder source2 ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , um die Mengenunion von zwei Sequenzen zu erhalten.

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

Hinweise

Die Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die CreateQuery<TElement>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source1 Parameters dargestellt wird.

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) darstellt, hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass die Mengenunion der Elemente in source1 und source2 zurückgegeben wird.

Gilt für:

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Erzeugt mithilfe eines angegebenen IEqualityComparer<T> die Vereinigungsmenge von zwei Sequenzen

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)

Typparameter

TSource

Der Typ der Elemente der Eingabesequenzen.

Parameter

source1
IQueryable<TSource>

Eine Sequenz, deren unterschiedliche Elemente den ersten Satz für die Gesamtmengenbildung darstellen.

source2
IEnumerable<TSource>

Eine Sequenz, deren unterschiedliche Elemente den zweiten Satz für die Gesamtmengenbildung darstellen.

comparer
IEqualityComparer<TSource>

Ein IEqualityComparer<T> zum Vergleichen von Werten.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das die Elemente aus beiden Eingabesequenzen ohne Duplikate enthält

Ausnahmen

source1 oder source2 ist null.

Hinweise

Die Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die CreateQuery<TElement>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source1 Parameters dargestellt wird.

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) darstellt, hängt von der Implementierung des Typs des source1 Parameters ab. Das erwartete Verhalten besteht darin, dass die Mengenunion der Elemente in source1 und source2 zurückgegeben wird. Der comparer Parameter wird verwendet, um Werte zu vergleichen.

Gilt für: