英語で読む

次の方法で共有


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 つのシーケンスの和集合を生成します。

C#
public static System.Linq.IQueryable<TSource> Union<TSource> (this System.Linq.IQueryable<TSource> source1, System.Collections.Generic.IEnumerable<TSource> source2);

型パラメーター

TSource

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

パラメーター

source1
IQueryable<TSource>

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

source2
IEnumerable<TSource>

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

戻り値

IQueryable<TSource>

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

例外

source1 または source2null です。

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

C#
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
*/

注釈

メソッドは 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要素の集合和集合が返されるということです。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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

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

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

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

型パラメーター

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 、値の比較に使用されます。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0