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

Lớp ListDictionary trong C #

Lớp ListDictionary triển khai IDictionary bằng cách sử dụng một danh sách được liên kết riêng. Nó được khuyến nghị cho các bộ sưu tập thường bao gồm ít hơn 10 mục.

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

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

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

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ị đã chỉ định vào ListDictionary.
2 Clear ()
Xóa tất cả các mục khỏi ListDictionary.
3 Chứa (Đối tượng)
Xác định xem ListDictionary có chứa một khóa cụ thể hay không.
4 CopyTo (Mảng, Int32)
Sao chép các mục nhập ListDictionary vào một thể hiện Mảng không thời gian 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ừ Object)
6 GetEnumerator ()
Trả về một IDictionaryEnumerator lặp qua ListDictionary.
7 GetHashCode ()
Đóng vai trò là hàm băm mặc định. (Kế thừa từ Object)
8 GetType ()
Rút ra loại của trường hợp hiện tại. (Kế thừa từ Object)

Ví dụ

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

Để kiểm tra xem ListDictionary có phải là chỉ đọc hay không, mã như sau -

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      ListDictionary dict1 = new ListDictionary();
      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("ListDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is the ListDictionary1 having fixed size? = "+dict1.IsFixedSize);
      Console.WriteLine("If ListDictionary1 read-only? = "+dict1.IsReadOnly);
      Console.WriteLine("Is ListDictionary1 synchronized = "+dict1.IsSynchronized);
      Console.WriteLine("The ListDictionary1 has the key M? = "+dict1.Contains("M"));
      ListDictionary dict2 = new ListDictionary();
      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("\nListDictionary2 key-value pairs...");
      IDictionaryEnumerator demoEnum = dict2.GetEnumerator();
      while (demoEnum.MoveNext())
      Console.WriteLine("Key = " + demoEnum.Key + ", Value = "+ demoEnum.Value);
      Console.WriteLine("Is the ListDictionary2 having fixed size? = "+dict2.IsFixedSize);
      Console.WriteLine("If ListDictionary2 read-only? = "+dict2.IsReadOnly);
      Console.WriteLine("Is ListDictionary2 synchronized = "+dict2.IsSynchronized);
      Console.WriteLine("The ListDictionary2 has the key 5? = "+dict2.Contains("5"));
   }
}

Đầu ra

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

Các phần tử
ListDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Is the ListDictionary1 having fixed size? = False
If ListDictionary1 read-only? = False
Is ListDictionary1 synchronized = False
The ListDictionary1 has the key M? = False
ListDictionary2 key-value pairs...
Key = 1, Value = One
Key = 2, Value = Two
Key = 3, Value = Three
Key = 4, Value = Four
Key = 5, Value = Five
Key = 6, Value = Six
Is the ListDictionary2 having fixed size? = False
If ListDictionary2 read-only? = False
Is ListDictionary2 synchronized = False
The ListDictionary2 has the key 5? = True

Để kiểm tra xem hai đối tượng ListDictionary có bằng nhau hay không, mã như sau -

Ví dụ

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      ListDictionary dict1 = new ListDictionary();
      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("ListDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      ListDictionary dict2 = new ListDictionary();
      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("\nListDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      ListDictionary dict3 = new ListDictionary();
      dict3 = dict2;
      Console.WriteLine("\nIs ListDictionary3 equal to ListDictionary2? = "+(dict3.Equals(dict2)));
   }
}

Đầu ra

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

Các phần tử
ListDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
ListDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Is ListDictionary3 equal to ListDictionary2? = True