Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Xóa tất cả entry khỏi HybridDictionary C#

Giới thiệu

Phương thức Clear() của HybridDictionary xóa toàn bộ cặp khóa-giá trị, đưa Count về 0. Dung lượng nội bộ có thể giữ nguyên hoặc giảm tùy triển khai.

Ví dụ 1: Hai HybridDictionary, Clear dict2

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        HybridDictionary dict1 = new HybridDictionary();
        dict1.Add("A", "Books");
        dict1.Add("B", "Electronics");
        dict1.Add("C", "Smart Wearables");
        dict1.Add("D", "Pet Supplies");
        dict1.Add("E", "Clothing");
        dict1.Add("F", "Footwear");

        Console.WriteLine("Các phần tử HybridDictionary1...");
        foreach (DictionaryEntry d in dict1)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        Console.WriteLine("Số cặp khóa-giá trị Dictionary1 = " + dict1.Count);

        HybridDictionary dict2 = new HybridDictionary();
        dict2.Add("1", "One");
        dict2.Add("2", "Two");
        dict2.Add("3", "Three");
        dict2.Add("4", "Four");
        dict2.Add("5", "Five");
        dict2.Add("6", "Six");

        Console.WriteLine("\nCác phần tử HybridDictionary2...");
        foreach (DictionaryEntry d in dict2)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        Console.WriteLine("Số cặp khóa-giá trị Dictionary2 = " + dict1.Count); // bug gốc: dict1.Count
        dict2.Clear();
        Console.WriteLine("Số cặp khóa-giá trị Dictionary2 (cập nhật) = " + dict2.Count);
    }
}

Kết quả

Các phần tử HybridDictionary1...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Số cặp khóa-giá trị Dictionary1 = 6
Các phần tử HybridDictionary2...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Số cặp khóa-giá trị Dictionary2 = 6
Số cặp khóa-giá trị Dictionary2 (cập nhật) = 0

Ví dụ 2: HybridDictionary nhỏ

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        HybridDictionary dict = new HybridDictionary();
        dict.Add("One", "Accessories");
        dict.Add("Two", "Pet Supplies");

        Console.WriteLine("Các phần tử HybridDictionary...");
        foreach (DictionaryEntry d in dict)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        Console.WriteLine("Số cặp khóa-giá trị Dictionary = " + dict.Count);
    }
}

Kết quả

Các phần tử HybridDictionary...
One Accessories
Two Pet Supplies
Số cặp khóa-giá trị Dictionary = 2

Chú ý

  • Clear() không giải phóng bộ nhớ mảng nội bộ ngay lập tức; GC sẽ xử lý sau.
  • Sau Clear, Count = 0, nhưng có thể thêm mới tiếp.
  • HybridDictionary dùng ListDictionary khi <= 9 phần tử, chuyển Hashtable khi > 9.