Computer >> Máy Tính >  >> Lập trình >> C#

Lớp HybridDictionary trong C #?

Lớp HybridDictionary triển khai IDictionary bằng cách sử dụng ListDictionary trong khi bộ sưu tập nhỏ và sau đó chuyển sang Hashtable khi bộ sưu tập lớn.

Sau đây là các thuộc tính của lớp HybridDictionary -

Sr.No Thuộc tính &Mô tả
1 Đếm
Nhận số lượng cặp khóa / giá trị có trong HybridDictionary.
2 IsFixedSize
Nhận một giá trị cho biết liệu HybridDictionary có kích thước cố định hay không.
3 IsReadOnly
Nhận một giá trị cho biết liệu HybridDictionary có phải là chỉ đọc hay không.
4 Được đồng bộ hóa
Nhận giá trị cho biết liệu HybridDictionary có được đồng bộ hóa (an toàn chuỗi) hay không.
5 Mục [Đối tượng]
Nhận hoặc đặt giá trị được liên kết với khóa được chỉ định.
6 Phím
Nhận ICollection chứa các khóa trong HybridDictionary.
7 SyncRoot
Nhận một đối tượng có thể được sử dụng để đồng bộ hóa truy cập vào HybridDictionary.
8 Giá trị
Nhận ICollection chứa các giá trị trong HybridDictionary.

Sau đây là một số phương thức của lớp HybridDictionary -

Sr.No Phương pháp &Mô tả
1 Thêm (Đối tượng, Đối tượng)
Thêm một mục nhập có khóa và giá trị được chỉ định trong HybridDictionary.
2 Clear ()
Xóa tất cả các mục nhập khỏi HybridDictionary.
3 Chứa (Đối tượng)
Xác định xem HybridDictionary có chứa một khóa cụ thể hay không.p>
4 CopyTo (Mảng, Int32)
Sao chép các mục nhập HybridDictionary vào một phiên bản onedimensionalArray tại chỉ mục được chỉ định.
5 Bằng (Đối tượng)
Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không. (Kế thừa từ Đối tượng)
6 GetEnumerator ()
Trả về một IDictionaryEnumerator lặp lại qua HybridDictionary.
7 GetHashCode ()
Đóng vai trò là hàm băm mặc định. (Được kế thừa từ Đối tượng)
8 GetType ()
Nhận Kiểu của phiên bản hiện tại. (Được kế thừa từ Đối tượng)

Để đếm số cặp khóa / giá trị trong HybridDictionary, mã như sau -

Ví dụ

Bây giờ chúng ta hãy xem một số ví dụ -

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary dict1 = new HybridDictionary();
      dict1.Add("A", "SUV");
      dict1.Add("B", "MUV");
      dict1.Add("C", "AUV");
      Console.WriteLine("HybridDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of Key/value pairs in 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("\nHybridDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of Key/value pairs in Dictionary2 = "+dict1.Count);
      dict2.Clear();
      Console.WriteLine("Count of Key/value pairs in Dictionary2 (Updated) = "+dict2.Count);
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Các phần tử
HybridDictionary1 elements...
A SUV
B MUV
C AUV
Count of Key/value pairs in Dictionary1 = 3
HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Count of Key/value pairs in Dictionary2 = 3
Count of Key/value pairs in Dictionary2 (Updated) = 0

Để kiểm tra xem HybridDictionary có được đồng bộ hóa hay không, mã như sau -

Ví dụ

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("HybridDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is the HybridDictionary1 having fixed size? = "+dict1.IsFixedSize);
      Console.WriteLine("If HybridDictionary1 read-only? = "+dict1.IsReadOnly);
      Console.WriteLine("Is HybridDictionary1 synchronized = "+dict1.IsSynchronized);
      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("\nHybridDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is HybridDictionary1 equal to HybridDictionary2? = "+(dict1.Equals(dict2)));
      Console.WriteLine("Is the HybridDictionary2 having fixed size? = "+dict2.IsFixedSize);
      Console.WriteLine("If HybridDictionary2 read-only? = "+dict2.IsReadOnly);
      Console.WriteLine("Is HybridDictionary2 synchronized = "+dict2.IsSynchronized);
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Các phần tử
HybridDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Is the HybridDictionary1 having fixed size? = False
If HybridDictionary1 read-only? = False
Is HybridDictionary1 synchronized = False
HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Is HybridDictionary1 equal to HybridDictionary2? = False
Is the HybridDictionary2 having fixed size? = False
If HybridDictionary2 read-only? = False
Is HybridDictionary2 synchronized = False