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)
public: generic<typename TSource> [ExtensionAttribute] static IEnumerable<TSource>^ Except( IEnumerable<TSource>^ first, IEnumerable<TSource>^ second, IEqualityComparer<TSource>^ comparer )
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