HashSet<T>.ExceptWith(IEnumerable<T>) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Supprime tous les éléments dans la collection spécifiée de l'objet HashSet<T> actif.
public:
virtual void ExceptWith(System::Collections::Generic::IEnumerable<T> ^ other);
public:
void ExceptWith(System::Collections::Generic::IEnumerable<T> ^ other);
public void ExceptWith (System.Collections.Generic.IEnumerable<T> other);
abstract member ExceptWith : seq<'T> -> unit
override this.ExceptWith : seq<'T> -> unit
member this.ExceptWith : seq<'T> -> unit
Public Sub ExceptWith (other As IEnumerable(Of T))
Paramètres
- other
- IEnumerable<T>
Collection d’éléments à supprimer de l’objet HashSet<T>.
Implémente
Exceptions
other
a la valeur null
.
Exemples
L’exemple suivant crée deux HashSet<T> collections avec des jeux de données qui se chevauchent. La plage inférieure de valeurs est ensuite supprimée de l’ensemble plus grand à l’aide de la ExceptWith méthode .
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 }
*/
HashSet<int> lowNumbers = new HashSet<int>();
HashSet<int> highNumbers = new 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);
void DisplaySet(HashSet<int> set)
{
Console.Write("{");
foreach (int i in set)
{
Console.Write(" {0}", i);
}
Console.WriteLine(" }");
}
/* 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 }
*/
Shared Sub Main()
Dim lowNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()
Dim highNumbers As HashSet(Of Integer) = New HashSet(Of Integer)()
For i As Integer = 0 To 5
lowNumbers.Add(i)
Next i
For i As Integer = 3 To 9
highNumbers.Add(i)
Next 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)
End Sub
' 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 }
Remarques
La ExceptWith méthode est l’équivalent de la soustraction d’ensemble mathématique.
Cette méthode est une opération O(n
), où n
est le nombre d’éléments dans le other
paramètre .