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