Queryable.Union 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生兩個序列的集合等位。
多載
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
使用預設相等比較值來比較值,以便產生兩個序列的集合等位。 |
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
使用指定的 IEqualityComparer<T> 產生兩個序列的集合等位。 |
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
- 來源:
- Queryable.cs
- 來源:
- Queryable.cs
- 來源:
- 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);
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<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>) 會產生 , MethodCallExpression 表示 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 呼叫本身做為建構的泛型方法。 然後,它會將 傳遞MethodCallExpression至 CreateQuery<TElement>(Expression) 參數的 屬性所Provider表示的 source1
方法IQueryProvider。
執行表示呼叫 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) 的表達式樹狀結構所產生的查詢行為,取決於參數類型的 source1
實作。 預期的行為是 中和 source2
中source1
專案的集合聯集會傳回。
適用於
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
- 來源:
- Queryable.cs
- 來源:
- Queryable.cs
- 來源:
- 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);
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<T>,其中包含來自兩個輸入序列的項目,但不包括重複的項目。
例外狀況
source1
或 source2
為 null
。
備註
方法 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 會產生 , MethodCallExpression 表示 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 呼叫本身做為建構的泛型方法。 然後,它會將 傳遞MethodCallExpression至 CreateQuery<TElement>(Expression) 參數的 屬性所Provider表示的 source1
方法IQueryProvider。
執行表示呼叫 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) 的表達式樹狀結構所產生的查詢行為,取決於參數類型的 source1
實作。 預期的行為是 中和 source2
中source1
專案的集合聯集會傳回。 參數 comparer
是用來比較值。