เมธอด SortedDictionary<TKey, TValue>.Remove() ใน C# ใช้ลบสมาชิกที่มีคีย์ (key) ตรงกับที่ระบุออกจาก SortedDictionary คืนค่า true หากลบสำเร็จ (พบคีย์และลบแล้ว) หรือ false หากไม่พบคีย์
รูปแบบไวยากรณ์ (Syntax)
public bool Remove(TKey key);
key: คีย์ของสมาชิกที่ต้องการลบ
ตัวอย่างที่ 1: ลบคีย์ 400 จาก Dictionary อุปกรณ์
using System;
using System.Collections;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedDictionary sortedDict = new SortedDictionary();
sortedDict.Add(100, "Mobile");
sortedDict.Add(200, "Laptop");
sortedDict.Add(300, "Desktop");
sortedDict.Add(400, "Speakers");
sortedDict.Add(500, "Headphone");
sortedDict.Add(600, "Earphone");
Console.WriteLine("SortedDictionary key-value pairs...");
IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
Console.WriteLine("\nKey 400 removed from SortedDictionary? = " + sortedDict.Remove(400));
Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
SortedDictionary.KeyCollection keyColl = sortedDict.Keys;
Console.WriteLine("\nKeys...list");
foreach (int i in keyColl)
{
Console.WriteLine(i);
}
}
}
ผลลัพธ์
SortedDictionary key-value pairs... Key = 100, Value = Mobile Key = 200, Value = Laptop Key = 300, Value = Desktop Key = 400, Value = Speakers Key = 500, Value = Headphone Key = 600, Value = Earphone Key 400 removed from SortedDictionary? = True SortedDictionary key-value pairs...UPDATED Key = 100, Value = Mobile Key = 200, Value = Laptop Key = 300, Value = Desktop Key = 500, Value = Headphone Key = 600, Value = Earphone Keys...list 100 200 300 500 600
ตัวอย่างที่ 2: ลบคีย์ 7 จาก Dictionary อุปกรณ์คอมพิวเตอร์
using System;
using System.Collections;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedDictionary sortedDict = new SortedDictionary();
sortedDict.Add(1, "Ultrabook");
sortedDict.Add(2, "Alienware");
sortedDict.Add(3, "Notebook");
sortedDict.Add(4, "Connector");
sortedDict.Add(5, "Flash Drive");
sortedDict.Add(6, "SSD");
sortedDict.Add(7, "HDD");
sortedDict.Add(8, "Earphone");
Console.WriteLine("SortedDictionary key-value pairs...");
IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
Console.WriteLine("\nKey 7 removed from SortedDictionary? = " + sortedDict.Remove(7));
Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
SortedDictionary.KeyCollection keyColl = sortedDict.Keys;
Console.WriteLine("\nKeys...list");
foreach (int i in keyColl)
{
Console.WriteLine(i);
}
}
}
ผลลัพธ์
SortedDictionary key-value pairs... Key = 1, Value = Ultrabook Key = 2, Value = Alienware Key = 3, Value = Notebook Key = 4, Value = Connector Key = 5, Value = Flash Drive Key = 6, Value = SSD Key = 7, Value = HDD Key = 8, Value = Earphone Key 7 removed from SortedDictionary? = True SortedDictionary key-value pairs...UPDATED Key = 1, Value = Ultrabook Key = 2, Value = Alienware Key = 3, Value = Notebook Key = 4, Value = Connector Key = 5, Value = Flash Drive Key = 6, Value = SSD Key = 8, Value = Earphone Keys...list 1 2 3 4 5 6 8
สรุป
- คืนค่า
trueหากพบคีย์และลบสำเร็จ,falseหากไม่พบคีย์ - ไม่โยน exception หากคีย์ไม่มีอยู่ (ต่างจากการเข้าถึงด้วย indexer)
- หลังลบแล้ว คีย์ที่เหลือยังคงเรียงลำดับอยู่
- Complexity: O(log n) เนื่องจากเป็น tree-based structure (Red-Black Tree)