Queryable::Union<TSource> Method (IQueryable<TSource>, IEnumerable<TSource>)
Produces the set union of two sequences by using the default equality comparer.
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
Type Parameters
- TSource
The type of the elements of the input sequences.
Parameters
- source1
- Type: System.Linq::IQueryable<TSource>
A sequence whose distinct elements form the first set for the union operation.
- source2
- Type: System.Collections.Generic::IEnumerable<TSource>
A sequence whose distinct elements form the second set for the union operation.
Return Value
Type: System.Linq::IQueryable<TSource>An IQueryable<T> that contains the elements from both input sequences, excluding duplicates.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IQueryable<TSource>. When you use instance method syntax to call this method, omit the first parameter.| Exception | Condition |
|---|---|
| ArgumentNullException | source1 or source2 is nullptr. |
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. It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source1 parameter.
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. The expected behavior is that the set union of the elements in source1 and source2 is returned.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.