คลาส ListDictionary นำ IDictionary ไปใช้โดยใช้รายการที่เชื่อมโยงเพียงอย่างเดียว ขอแนะนำสำหรับคอลเล็กชันที่โดยทั่วไปมีน้อยกว่า 10 รายการ
ต่อไปนี้เป็นคุณสมบัติของคลาส ListDictionary -
| Sr.No | คุณสมบัติ &คำอธิบาย |
|---|---|
| 1 | นับ รับจำนวนคู่คีย์/ค่าที่มีอยู่ใน ListDictionary |
| 2 | IsFixedSize รับค่าที่ระบุว่า ListDictionary มีขนาดคงที่หรือไม่ |
| 3 | เป็นแบบอ่านอย่างเดียว รับค่าที่ระบุว่า ListDictionary เป็นแบบอ่านอย่างเดียวหรือไม่ |
| 4 | ซิงโครไนซ์ รับค่าที่ระบุว่า ListDictionary ซิงโครไนซ์หรือไม่ (เธรดที่ปลอดภัย) |
| 5 | รายการ[วัตถุ] รับหรือตั้งค่าที่เกี่ยวข้องกับที่ระบุ |
| 6 | กุญแจ รับ ICollection ที่มีคีย์ใน ListDictionary |
| 7 | SyncRoot รับอ็อบเจ็กต์ที่สามารถใช้เพื่อซิงโครไนซ์การเข้าถึง ListDictionary |
| 8 | ค่า รับ ICollection ที่มีค่าใน ListDictionary |
ต่อไปนี้คือวิธีการบางอย่างของคลาส ListDictionary -
| ซีเนียร์ | วิธีการ &คำอธิบาย |
|---|---|
| 1 | เพิ่ม (วัตถุ, วัตถุ) เพิ่มรายการที่มีคีย์และค่าที่ระบุลงใน ListDictionary |
| 2 | ล้าง() ลบรายการทั้งหมดออกจาก ListDictionary |
| 3 | ประกอบด้วย (วัตถุ) กำหนดว่า ListDictionary มีคีย์เฉพาะหรือไม่ |
| 4 | CopyTo(Array, Int32) คัดลอกรายการ ListDictionary ไปยังอินสแตนซ์ Array แบบหนึ่งมิติที่ดัชนีที่ระบุ |
| 5 | เท่ากับ (วัตถุ) กำหนดว่าวัตถุที่ระบุเท่ากับวัตถุปัจจุบันหรือไม่ (สืบทอดมาจากวัตถุ) |
| 6 | GetEnumerator() ส่งกลับ IDictionaryEnumerator ที่วนซ้ำผ่าน ListDictionary |
| 7 | GetHashCode() ทำหน้าที่เป็นฟังก์ชันแฮชเริ่มต้น (สืบทอดมาจากวัตถุ) |
| 8 | GetType() รับชนิดของอินสแตนซ์ปัจจุบัน (สืบทอดมาจากวัตถุ) |
ตัวอย่าง
เรามาดูตัวอย่างกัน −
เพื่อตรวจสอบว่า ListDictionary เป็นแบบอ่านอย่างเดียวหรือไม่ โค้ดจะเป็นดังนี้ -
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"));
}
} ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
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
เพื่อตรวจสอบว่าวัตถุ ListDictionary สองรายการเท่ากันหรือไม่ รหัสจะเป็นดังนี้ -
ตัวอย่าง
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)));
}
} ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
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