次の方法で共有


Queryable.Union メソッド

定義

2 つのシーケンスの和集合を生成します。

オーバーロード

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

既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。

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

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

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

ソース:
Queryable.cs
ソース:
Queryable.cs
ソース:
Queryable.cs

既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。

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

入力シーケンスの要素の型。

パラメーター

source1
IQueryable<TSource>

和集合演算の最初のセットを形成する各要素を含むシーケンス。

source2
IEnumerable<TSource>

和集合演算の 2 番目のセットを形成する各要素を含むシーケンス。

戻り値

IQueryable<TSource>

2 つの入力シーケンスの要素 (重複する要素は除く) を格納している IQueryable<T>

例外

source1 または source2null です。

次のコード例では、 を使用 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) して 2 つのシーケンスの集合和集合を取得する方法を示します。

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>) 自体を表す を生成します。 次に、 パラメーターの MethodCallExpressionCreateQuery<TElement>(Expression) プロパティで表される の IQueryProvider メソッドに をProvidersource1渡します。

呼び出し Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) を表す式ツリーを実行した結果として発生するクエリ動作は、 パラメーターの型の source1 実装によって異なります。 予期される動作は、 と source2source1要素の集合和集合が返されるということです。

適用対象

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

ソース:
Queryable.cs
ソース:
Queryable.cs
ソース:
Queryable.cs

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

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

和集合演算の 2 番目のセットを形成する各要素を含むシーケンス。

comparer
IEqualityComparer<TSource>

値を比較する IEqualityComparer<T>

戻り値

IQueryable<TSource>

2 つの入力シーケンスの要素 (重複する要素は除く) を格納している IQueryable<T>

例外

source1 または source2null です。

注釈

メソッドは Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)MethodCallExpression 構築されたジェネリック メソッドとしての呼び出し Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 自体を表す を生成します。 次に、 パラメーターの MethodCallExpressionCreateQuery<TElement>(Expression) プロパティで表される の IQueryProvider メソッドに をProvidersource1渡します。

呼び出し Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) を表す式ツリーを実行した結果として発生するクエリ動作は、 パラメーターの型の source1 実装によって異なります。 予期される動作は、 と source2source1要素の集合和集合が返されるということです。 パラメーターは comparer 、値の比較に使用されます。

適用対象