ภาพรวม
Hashtable.Add(key, value) เพิ่มคู่คีย์/ค่า คีย์ต้องไม่ซ้ำและไม่เป็น null รองรับการวนลูปด้วย IDictionaryEnumerator
ตัวอย่างที่ 1: เพิ่ม 10 คู่ แล้วเพิ่มอีก 1 คู่ และนับจำนวน
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable(10);
hash.Add("1", "A");
hash.Add("2", "B");
hash.Add("3", "C");
hash.Add("4", "D");
hash.Add("5", "E");
hash.Add("6", "F");
hash.Add("7", "G");
hash.Add("8", "H");
hash.Add("9", "I");
hash.Add("10", "J");
Console.WriteLine("Hashtable Key and Value pairs...");
foreach (DictionaryEntry entry in hash)
{
Console.WriteLine("{0} and {1} ", entry.Key, entry.Value);
}
Console.WriteLine("Count of entries in Hashtable = " + hash.Count);
hash.Add("11", "K");
Console.WriteLine("Hashtable Key and Value pairs...UPDATED");
foreach (DictionaryEntry entry in hash)
{
Console.WriteLine("{0} and {1} ", entry.Key, entry.Value);
}
Console.WriteLine("Count of entries in Hashtable (updated) = " + hash.Count);
}
}
ผลลัพธ์
Hashtable Key and Value pairs... 10 and J 1 and A 2 and B 3 and C 4 and D 5 and E 6 and F 7 and G 8 and H 9 and I Count of entries in Hashtable = 10 Hashtable Key and Value pairs...UPDATED 10 and J 1 and A 2 and B 3 and C 4 and D 5 and E 6 and F 7 and G 8 and H 9 and I 11 and K Count of entries in Hashtable (updated) = 11
ตัวอย่างที่ 2: เพิ่ม 7 คู่และวนลูปด้วย IDictionaryEnumerator
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable(10);
hash.Add("1", "SUV");
hash.Add("2", "Electric Cars");
hash.Add("3", "AUV");
hash.Add("4", "Utility Vehicle");
hash.Add("5", "Compact Car");
hash.Add("6", "Sedan");
hash.Add("7", "Crossover");
Console.WriteLine("Enumerator to iterate through the Hashtable...");
IDictionaryEnumerator demoEnum = hash.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
}
}
ผลลัพธ์
Enumerator to iterate through the Hashtable... Key = 1, Value = SUV Key = 2, Value = Electric Cars Key = 3, Value = AUV Key = 4, Value = Utility Vehicle Key = 5, Value = Compact Car Key = 6, Value = Sedan Key = 7, Value = Crossover
สรุป
- Hashtable ไม่จัดเรียงข้อมูล ลำดับขึ้นอยู่กับ hash code ของคีย์
- คีย์ต้อง unique และไม่เป็น null
- ใช้
IDictionaryEnumeratorวนลูปเข้าถึง Key/Value โดยตรง - ควรพิจารה
Dictionary<TKey, TValue>แทนสำหรับโค้ดใหม่ (type-safe, เร็วกว่า)