Aracılığıyla paylaş


Queryable.Union Yöntem

Tanım

İki dizinin küme birleşimini üretir.

Aşırı Yüklemeler

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

Varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin küme birleşimini üretir.

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

Belirtilen IEqualityComparer<T>bir kullanarak iki sıranın küme birleşimini üretir.

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Varsayılan eşitlik karşılaştırıcısını kullanarak iki dizinin küme birleşimini üretir.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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)

Tür Parametreleri

TSource

Giriş dizilerinin öğelerinin türü.

Parametreler

source1
IQueryable<TSource>

Birleşim işlemi için ilk kümeyi oluşturan benzersiz öğeleri olan bir dizi.

source2
IEnumerable<TSource>

Birleşim işlemi için ayrı öğeleri ikinci kümeyi oluşturan bir dizi.

Döndürülenler

IQueryable<TSource>

IQueryable<T> Yinelenenler hariç olmak üzere her iki giriş dizisinden öğeleri içeren bir.

Öznitelikler

Özel durumlar

source1 veya source2 şeklindedir null.

Örnekler

Aşağıdaki kod örneği, iki dizinin küme birleşimini elde etmek için nasıl kullanılacağını Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) gösterir.

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

Açıklamalar

yöntemi, Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine source1IQueryProvider iletirMethodCallExpression.CreateQuery<TElement>(Expression)

Çağrıyı Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1 bağlıdır. Beklenen davranış, içindeki ve source2 öğelerinin source1 küme birleşiminin döndürülür.

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Belirtilen IEqualityComparer<T>bir kullanarak iki sıranın küme birleşimini üretir.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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)

Tür Parametreleri

TSource

Giriş dizilerinin öğelerinin türü.

Parametreler

source1
IQueryable<TSource>

Birleşim işlemi için ilk kümeyi oluşturan benzersiz öğeleri olan bir dizi.

source2
IEnumerable<TSource>

Birleşim işlemi için ayrı öğeleri ikinci kümeyi oluşturan bir dizi.

comparer
IEqualityComparer<TSource>

Değerleri karşılaştırmak için bir IEqualityComparer<T> .

Döndürülenler

IQueryable<TSource>

IQueryable<T> Yinelenenler hariç olmak üzere her iki giriş dizisinden öğeleri içeren bir.

Öznitelikler

Özel durumlar

source1 veya source2 şeklindedir null.

Açıklamalar

yöntemi, Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine source1IQueryProvider iletirMethodCallExpression.CreateQuery<TElement>(Expression)

Çağrıyı Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source1 bağlıdır. Beklenen davranış, içindeki ve source2 öğelerinin source1 küme birleşiminin döndürülür. comparer parametresi, değerleri karşılaştırmak için kullanılır.

Şunlara uygulanır