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>)

指定されたを使用して 2 つのシーケンスの和集合を生成IEqualityComparer<T>します。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>

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. これは、後、渡します、MethodCallExpressionCreateQuery<TElement>(Expression)のメソッド、IQueryProviderによって表される、Providerのプロパティ、source1パラメーター。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. 想定される動作は内の要素の和集合source1source2が返されます。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>)

指定されたを使用して 2 つのシーケンスの和集合を生成IEqualityComparer<T>します。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>

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. これは、後、渡します、MethodCallExpressionCreateQuery<TElement>(Expression)のメソッド、IQueryProviderによって表される、Providerのプロパティ、source1パラメーター。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. 想定される動作は内の要素の和集合source1source2が返されます。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.

適用対象