Enumerable.Except<'TSource> Method (IEnumerable<'TSource>, IEnumerable<'TSource>, IEqualityComparer<'TSource>)
Produces the set difference of two sequences by using the specified IEqualityComparer<'T> to compare values.
Assembly: System.Core (in System.Core.dll)
static member Except<'TSource> : first:IEnumerable<'TSource> * second:IEnumerable<'TSource> * comparer:IEqualityComparer<'TSource> -> IEnumerable<'TSource>
Parameters
- first
-
Type:
System.Collections.Generic.IEnumerable<'TSource>
An IEnumerable<'T> whose elements that are not also in second will be returned.
- second
-
Type:
System.Collections.Generic.IEnumerable<'TSource>
An IEnumerable<'T> whose elements that also occur in the first sequence will cause those elements to be removed from the returned sequence.
- comparer
-
Type:
System.Collections.Generic.IEqualityComparer<'TSource>
An IEqualityComparer<'T> to compare values.
Return Value
Type: System.Collections.Generic.IEnumerable<'TSource>A sequence that contains the set difference of the elements of two sequences.
Type Parameters
- TSource
The type of the elements of the input sequences.
| Exception | Condition |
|---|---|
| ArgumentNullException | first or second is null. |
The following example shows how to implement an equality comparer that can be used in the Except<'TSource> method.
After you implement this comparer, you can use sequences of Product objects in the Except<'TSource> method, as shown in the following example.
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1