Queryable.Union Queryable.Union Queryable.Union Queryable.Union Method

定義

2 つのシーケンスの和集合を生成します。Produces the set union of two sequences.

オーバーロード

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

既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。Produces the set union of two sequences by using the default equality comparer.

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

指定された IEqualityComparer<T> を使用して 2 つのシーケンスの和集合を生成します。Produces the set union of two sequences by using a specified IEqualityComparer<T>.

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

既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。Produces the set union of two sequences by using the default equality comparer.

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)

型パラメーター

TSource

入力シーケンスの要素の型。The type of the elements of the input sequences.

パラメーター

source1
IQueryable<TSource>

和集合演算の最初のセットを形成する各要素を含むシーケンス。A sequence whose distinct elements form the first set for the union operation.

source2
IEnumerable<TSource>

和集合演算の 2 番目のセットを形成する各要素を含むシーケンス。A sequence whose distinct elements form the second set for the union operation.

戻り値

IQueryable<TSource>

2 つの入力シーケンスの要素 (重複する要素は除く) を格納している IQueryable<T>An IQueryable<T> that contains the elements from both input sequences, excluding duplicates.

例外

source1 または source2null です。source1 or source2 is null.

次のコード例は、を使用Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)して2つのシーケンスの和集合を取得する方法を示しています。The following code example demonstrates how to use Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) to obtain the set union of two sequences.

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>)は、構築MethodCallExpressionされたUnion<TSource>(IQueryable<TSource>, IEnumerable<TSource>)ジェネリックメソッドとして呼び出し元を表すを生成します。The Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) method generates a MethodCallExpression that represents calling Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) itself as a constructed generic method. MethodCallExpressionに、 IQueryProvider CreateQuery<TElement>(Expression) パラメーターsource1Providerプロパティによって表されるのメソッドにを渡します。It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

呼び出しUnion<TSource>(IQueryable<TSource>, IEnumerable<TSource>)を表す式ツリーを実行した結果として発生するクエリ動作は、 source1パラメーターの型の実装によって異なります。The query behavior that occurs as a result of executing an expression tree that represents calling Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depends on the implementation of the type of the source1 parameter. 期待される動作は、とsource1 source2の要素の和集合が返されることです。The expected behavior is that the set union of the elements in source1 and source2 is returned.

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

指定された IEqualityComparer<T> を使用して 2 つのシーケンスの和集合を生成します。Produces the set union of two sequences by using a specified 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)

型パラメーター

TSource

入力シーケンスの要素の型。The type of the elements of the input sequences.

パラメーター

source1
IQueryable<TSource>

和集合演算の最初のセットを形成する各要素を含むシーケンス。A sequence whose distinct elements form the first set for the union operation.

source2
IEnumerable<TSource>

和集合演算の 2 番目のセットを形成する各要素を含むシーケンス。A sequence whose distinct elements form the second set for the union operation.

comparer
IEqualityComparer<TSource>

値を比較する IEqualityComparer<T>An IEqualityComparer<T> to compare values.

戻り値

IQueryable<TSource>

2 つの入力シーケンスの要素 (重複する要素は除く) を格納している IQueryable<T>An IQueryable<T> that contains the elements from both input sequences, excluding duplicates.

例外

source1 または source2null です。source1 or source2 is null.

注釈

メソッドUnion<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)は、構築MethodCallExpressionされたUnion<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)ジェネリックメソッドとして呼び出し元を表すを生成します。The Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) itself as a constructed generic method. MethodCallExpressionに、 IQueryProvider CreateQuery<TElement>(Expression) パラメーターsource1Providerプロパティによって表されるのメソッドにを渡します。It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.

呼び出しUnion<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)を表す式ツリーを実行した結果として発生するクエリ動作は、 source1パラメーターの型の実装によって異なります。The query behavior that occurs as a result of executing an expression tree that represents calling Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) depends on the implementation of the type of the source1 parameter. 期待される動作は、とsource1 source2の要素の和集合が返されることです。The expected behavior is that the set union of the elements in source1 and source2 is returned. パラメーター comparerは、値を比較するために使用されます。The comparer parameter is used to compare values.

適用対象