HashSet<T>.ExceptWith(IEnumerable<T>) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menghapus semua elemen dalam koleksi yang ditentukan dari objek saat ini HashSet<T> .
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))
Parameter
- other
- IEnumerable<T>
Kumpulan item yang akan dihapus dari HashSet<T> objek.
Penerapan
Pengecualian
other
adalah null
.
Contoh
Contoh berikut membuat dua HashSet<T> koleksi dengan kumpulan data yang tumpang tindih. Rentang nilai yang lebih rendah kemudian dihapus dari set yang lebih besar menggunakan ExceptWith metode .
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 }
Keterangan
Metode ExceptWith ini setara dengan pengurangan set matematika.
Metode ini adalah operasi O(n
), di mana n
adalah jumlah elemen dalam other
parameter .
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk