HashSet<T>::ExceptWith Method (IEnumerable<T>^)
Removes all elements in the specified collection from the current HashSet<T> object.
Assembly: System.Core (in System.Core.dll)
Parameters
- other
-
Type:
System.Collections.Generic::IEnumerable<T>^
The collection of items to remove from the HashSet<T> object.
Implements
ISet<T>::ExceptWith(IEnumerable<T>^)| Exception | Condition |
|---|---|
| ArgumentNullException | other is null. |
The ExceptWith method is the equivalent of mathematical set subtraction.
This method is an O(n) operation, where n is the number of elements in the other parameter.
The following example creates two HashSet<T> collections with overlapping sets of data. The lower range of values is then removed from the larger set using the ExceptWith method.
static void Main() { HashSet<int>^ lowNumbers = gcnew HashSet<int>(); HashSet<int>^ highNumbers = gcnew HashSet<int>(); for (int i = 0; i < 6; i++) { lowNumbers->Add(i); } for (int i = 3; i < 10; i++) { highNumbers->Add(i); } Console::Write("lowNumbers contains {0} elements: ", lowNumbers->Count); DisplaySet(lowNumbers); Console::Write("highNumbers contains {0} elements: ", highNumbers->Count); DisplaySet(highNumbers); Console::WriteLine("highNumbers ExceptWith lowNumbers..."); highNumbers->ExceptWith(lowNumbers); Console::Write("highNumbers contains {0} elements: ", highNumbers->Count); DisplaySet(highNumbers); } /* This example provides output similar to the following: * lowNumbers contains 6 elements: { 0 1 2 3 4 5 } * highNumbers contains 7 elements: { 3 4 5 6 7 8 9 } * highNumbers ExceptWith lowNumbers... * highNumbers contains 4 elements: { 6 7 8 9 } */
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1