Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด SortedDictionary.Remove() ใน C# : ลบสมาชิกด้วยคีย์

เมธอด 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)