Queryable.Union Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar uppsättningen union av två sekvenser.
Överlagringar
| Name | Description |
|---|---|
| Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) |
Skapar uppsättningsunionen med två sekvenser med hjälp av standardjämförlikningsjämföraren. |
| Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Skapar uppsättningen union av två sekvenser med hjälp av en angiven IEqualityComparer<T>. |
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>)
Skapar uppsättningsunionen med två sekvenser med hjälp av standardjämförlikningsjämföraren.
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)
Typparametrar
- TSource
Typ av element i indatasekvenserna.
Parametrar
- source1
- IQueryable<TSource>
En sekvens vars distinkta element utgör den första uppsättningen för unionsåtgärden.
- source2
- IEnumerable<TSource>
En sekvens vars distinkta element utgör den andra uppsättningen för unionsåtgärden.
Returer
En IQueryable<T> som innehåller elementen från båda indatasekvenserna, exklusive dubbletter.
Undantag
source1 eller source2 är null.
Exempel
Följande kodexempel visar hur du använder Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) för att hämta den angivna unionen av två sekvenser.
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
Kommentarer
Metoden Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) genererar en MethodCallExpression som representerar att anropa Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) sig själv som en konstruerad generisk metod. Den skickar sedan till CreateQuery<TElement>(Expression) metoden för den IQueryProvider som representeras av Provider egenskapen för parameternsource1.MethodCallExpression
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) körs beror på implementeringen av source1 parametertypen. Det förväntade beteendet är att uppsättningen av elementen i source1 och source2 returneras.
Gäller för
Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
Skapar uppsättningen union av två sekvenser med hjälp av en angiven 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)
Typparametrar
- TSource
Typ av element i indatasekvenserna.
Parametrar
- source1
- IQueryable<TSource>
En sekvens vars distinkta element utgör den första uppsättningen för unionsåtgärden.
- source2
- IEnumerable<TSource>
En sekvens vars distinkta element utgör den andra uppsättningen för unionsåtgärden.
- comparer
- IEqualityComparer<TSource>
En IEqualityComparer<T> för att jämföra värden.
Returer
En IQueryable<T> som innehåller elementen från båda indatasekvenserna, exklusive dubbletter.
Undantag
source1 eller source2 är null.
Kommentarer
Metoden Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) genererar en MethodCallExpression som representerar att anropa Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) sig själv som en konstruerad generisk metod. Den skickar sedan till CreateQuery<TElement>(Expression) metoden för den IQueryProvider som representeras av Provider egenskapen för parameternsource1.MethodCallExpression
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) körs beror på implementeringen av source1 parametertypen. Det förväntade beteendet är att uppsättningen av elementen i source1 och source2 returneras. Parametern comparer används för att jämföra värden.