Queryable::Intersect<TSource> Method (IQueryable<TSource>, IEnumerable<TSource>)
Produces the set intersection of two sequences by using the default equality comparer to compare values.
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 that also appear in source2 are returned.
- source2
- Type: System.Collections.Generic::IEnumerable<TSource>
A sequence whose distinct elements that also appear in the first sequence are returned.
Return Value
Type: System.Linq::IQueryable<TSource>A sequence that contains the set intersection of the two sequences.
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 Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) method generates a MethodCallExpression that represents calling Intersect<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 Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) depends on the implementation of the type of the source1 parameter. The expected behavior is that all the elements in source1 that are also in source2 are returned.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.