다음을 통해 공유


Queryable.Union 메서드

정의

두 시퀀스의 집합 결합을 생성합니다.

오버로드

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

기본 같음 비교자를 사용하여 두 시퀀스의 집합 합합을 생성합니다.

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

지정된 IEqualityComparer<T>사용하여 두 시퀀스의 집합 합합을 생성합니다.

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

기본 같음 비교자를 사용하여 두 시퀀스의 집합 합합을 생성합니다.

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)

형식 매개 변수

TSource

입력 시퀀스의 요소 형식입니다.

매개 변수

source1
IQueryable<TSource>

고유 요소가 공용 구조체 작업의 첫 번째 집합을 형성하는 시퀀스입니다.

source2
IEnumerable<TSource>

고유 요소가 공용 구조체 작업에 대한 두 번째 집합을 형성하는 시퀀스입니다.

반환

IQueryable<TSource>

IQueryable<T> 중복을 제외한 두 입력 시퀀스의 요소가 들어 있는 값입니다.

특성

예외

source1 또는 source2 .입니다 null.

예제

다음 코드 예제에서는 두 시퀀스의 집합 통합을 가져오는 방법을 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 보여 줍니다.

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

설명

메서드는 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 생성된 제네릭 메서드로 자신을 호출 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 하는 것을 나타내는 메서드를 생성 MethodCallExpression 합니다. 그런 다음 매개 변수의 IQueryProvider 속성 source1 이 나타내는 메서드에 Provider 전달 MethodCallExpressionCreateQuery<TElement>(Expression) 합니다.

호출 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식의 source1 구현에 따라 달라집니다. 예상되는 동작은 요소 source1source2 의 집합 통합이 반환되고 반환되는 것입니다.

적용 대상

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

지정된 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);
[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)

형식 매개 변수

TSource

입력 시퀀스의 요소 형식입니다.

매개 변수

source1
IQueryable<TSource>

고유 요소가 공용 구조체 작업의 첫 번째 집합을 형성하는 시퀀스입니다.

source2
IEnumerable<TSource>

고유 요소가 공용 구조체 작업에 대한 두 번째 집합을 형성하는 시퀀스입니다.

comparer
IEqualityComparer<TSource>

IEqualityComparer<T> 값을 비교할 수 있는 값입니다.

반환

IQueryable<TSource>

IQueryable<T> 중복을 제외한 두 입력 시퀀스의 요소가 들어 있는 값입니다.

특성

예외

source1 또는 source2 .입니다 null.

설명

메서드는 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 생성된 제네릭 메서드로 자신을 호출 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 하는 것을 나타내는 메서드를 생성 MethodCallExpression 합니다. 그런 다음 매개 변수의 IQueryProvider 속성 source1 이 나타내는 메서드에 Provider 전달 MethodCallExpressionCreateQuery<TElement>(Expression) 합니다.

호출 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식의 source1 구현에 따라 달라집니다. 예상되는 동작은 요소 source1source2 의 집합 통합이 반환되고 반환되는 것입니다. comparer 매개 변수는 값을 비교하는 데 사용됩니다.

적용 대상