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'e eşittir.
Ö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.
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 }
*/
let displaySet (set: HashSet<int>) =
printf "{"
for i in set do
printf $" {i}"
printfn " }"
let lowNumbers = HashSet<int>()
let highNumbers = HashSet<int>()
for i = 0 to 5 do
lowNumbers.Add i |> ignore
for i = 3 to 9 do
highNumbers.Add i |> ignore
printf $"lowNumbers contains {lowNumbers.Count} elements: "
displaySet lowNumbers
printf $"highNumbers contains {highNumbers.Count} elements: "
displaySet highNumbers
printfn "highNumbers ExceptWith lowNumbers..."
highNumbers.ExceptWith(lowNumbers)
printf $"highNumbers contains {highNumbers.Count} elements: "
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 }
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, parametredeki n öğelerin sayısı olan n bir O(other) işlemidir.