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

Lớp StringDictionary trong C #?

Lớp StringDictionay triển khai một bảng băm với khóa và giá trị được đánh mạnh là chuỗi chứ không phải đối tượng.

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

Sr.No Thuộc tính &Mô tả
1 Đếm
Nhận số lượng cặp khóa / giá trị trong StringDictionary.
2 Được đồng bộ hóa
Nhận một giá trị cho biết quyền truy cập vào StringDictionary có được đồng bộ hóa hay không (chuỗi an toàn).
3 tem [Chuỗi]
Nhận hoặc đặt giá trị được liên kết với khóa được chỉ định.
4 Phím
Nhận một bộ sưu tập các khóa trong StringDictionary ..
5 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 StringDictionary.
6 Giá trị
Nhận một tập hợp các giá trị trong StringDictionary.

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

Sr.No Phương pháp &Mô tả
1 Thêm (Chuỗi, Chuỗi)
Thêm một mục nhập có khóa và giá trị được chỉ định trong StringDictionary.
2 Clear ()
Xóa tất cả các mục khỏi StringDictionary.
3 ContainsKey (Chuỗi)
Xác định xem StringDictionary có chứa một
4 ContainsValue (Chuỗi)
Xác định xem StringDictionary có chứa một giá trị cụ thể hay không.
5 CopyTo (Mảng, Int32)
Sao chép các giá trị từ điển chuỗi vào một cá thể Mảng không thời gian tại chỉ mục được chỉ định.
6 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)

Ví dụ

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

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

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringDictionary strDict1 = new StringDictionary();
      strDict1.Add("A", "John");
      strDict1.Add("B", "Andy");
      strDict1.Add("C", "Tim");
      strDict1.Add("D", "Ryan");
      strDict1.Add("E", "Kevin");
      strDict1.Add("F", "Katie");
      strDict1.Add("G", "Brad");
      StringDictionary strDict2 = new StringDictionary();
      strDict2.Add("A", "John");
      strDict2.Add("B", "Andy");
      strDict2.Add("C", "Tim");
      strDict2.Add("D", "Ryan");
      strDict2.Add("E", "Kevin");
      strDict2.Add("F", "Katie");
      strDict2.Add("G", "Brad");
      StringDictionary strDict3 = new StringDictionary();
      strDict3 = strDict2;
      Console.WriteLine("Is Dictionary2 equal to Dictionary3? = "+strDict2.Equals(strDict3));
      Console.WriteLine("Is Dictionary1 equal to Dictionary3? = "+strDict1.Equals(strDict3));
   }
}

Đầu ra

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

Is Dictionary2 equal to Dictionary3? = True
Is Dictionary1 equal to Dictionary3? = False

Ví dụ

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

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringDictionary strDict1 = new StringDictionary();
      strDict1.Add("A", "John");
      strDict1.Add("B", "Andy");
      strDict1.Add("C", "Tim");
      strDict1.Add("D", "Ryan");
      strDict1.Add("E", "Kevin");
      strDict1.Add("F", "Katie");
      strDict1.Add("G", "Brad");
      Console.WriteLine("StringDictionary1 elements...");
      foreach(DictionaryEntry de in strDict1) {
         Console.WriteLine(de.Key + " " + de.Value);
      }
      StringDictionary strDict2 = new StringDictionary();
      strDict2.Add("1", "A");
      strDict2.Add("2", "B");
      strDict2.Add("3", "C");
      strDict2.Add("4", "D");
      strDict2.Add("5", "E");
      Console.WriteLine("\nStringDictionary2 key-value pairs...");
      IEnumerator demoEnum = strDict2.GetEnumerator();
      DictionaryEntry d;
      while (demoEnum.MoveNext()) {
         d = (DictionaryEntry)demoEnum.Current;
         Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
      }
      Console.WriteLine("Is the StringDictionary2 synchronized? = "+strDict2.IsSynchronized);
   }
}

Đầu ra

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

StringDictionary1 elements...
a John
b Andy
c Tim
d Ryan
e Kevin
f Katie
g Brad
StringDictionary2 key-value pairs...
Key = 1, Value = A
Key = 2, Value = B
Key = 3, Value = C
Key = 4, Value = D
Key = 5, Value = E
Is the StringDictionary2 synchronized? = False