HashSet<T>.ExceptWith(IEnumerable<T>) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen koleksiyondaki tüm öğeleri geçerli HashSet<T> nesneden kaldırır.
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))
Parametreler
- other
- IEnumerable<T>
Nesneden HashSet<T> kaldırılacak öğe koleksiyonu.
Uygulamalar
Özel durumlar
other
, null
değeridir.
Örnekler
Aşağıdaki örnek, çakışan veri kümeleriyle iki HashSet<T> koleksiyon oluşturur. Daha sonra yöntemi kullanılarak ExceptWith daha düşük değer aralığı büyük kümeden kaldırılır.
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 }
Açıklamalar
ExceptWith yöntemi, matematiksel küme çıkarma işleminin eşdeğeridir.
Bu yöntem, parametresindeki other
öğelerin sayısı olan n
bir O(n
) işlemidir.