Queryable.Union Methode

Definitie

Produceert de set-samenvoeging van twee reeksen.

Overloads

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

Produceert de set-samenvoeging van twee reeksen met behulp van de standaard gelijkheidsgelijker.

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

Produceert de set-samenvoeging van twee reeksen met behulp van een opgegeven IEqualityComparer<T>.

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

Produceert de set-samenvoeging van twee reeksen met behulp van de standaard gelijkheidsgelijker.

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)

Type parameters

TSource

Het type van de elementen van de invoerreeksen.

Parameters

source1
IQueryable<TSource>

Een reeks waarvan de afzonderlijke elementen de eerste set vormen voor de samenvoegbewerking.

source2
IEnumerable<TSource>

Een reeks waarvan de afzonderlijke elementen de tweede set vormen voor de samenvoegbewerking.

Retouren

IQueryable<TSource>

Een IQueryable<T> die de elementen uit beide invoerreeksen bevat, met uitzondering van duplicaten.

Uitzonderingen

source1 of source2 is null.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) u de set-samenvoeging van twee reeksen kunt verkrijgen.

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

Opmerkingen

De Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery<TElement>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source1 parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) , is afhankelijk van de implementatie van het type source1 parameter. Het verwachte gedrag is dat de set samenvoeging van de elementen in source1 en source2 wordt geretourneerd.

Van toepassing op

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

Produceert de set-samenvoeging van twee reeksen met behulp van een opgegeven 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);
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)

Type parameters

TSource

Het type van de elementen van de invoerreeksen.

Parameters

source1
IQueryable<TSource>

Een reeks waarvan de afzonderlijke elementen de eerste set vormen voor de samenvoegbewerking.

source2
IEnumerable<TSource>

Een reeks waarvan de afzonderlijke elementen de tweede set vormen voor de samenvoegbewerking.

comparer
IEqualityComparer<TSource>

Een IEqualityComparer<T> om waarden te vergelijken.

Retouren

IQueryable<TSource>

Een IQueryable<T> die de elementen uit beide invoerreeksen bevat, met uitzondering van duplicaten.

Uitzonderingen

source1 of source2 is null.

Opmerkingen

De Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) methode genereert een MethodCallExpression die zichzelf aanroept Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery<TElement>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source1 parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) , is afhankelijk van de implementatie van het type source1 parameter. Het verwachte gedrag is dat de set samenvoeging van de elementen in source1 en source2 wordt geretourneerd. De comparer parameter wordt gebruikt om waarden te vergelijken.

Van toepassing op