ภาพรวม
คุณสมบัติ Hashtable.Count คืนจำนวนคู่คีย์/ค่าที่จัดเก็บอยู่ (O(1))
ตัวอย่างที่ 1: เพิ่มข้อมูลและนับ
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable();
hash.Add("A", "SUV");
hash.Add("B", "MUV");
hash.Add("C", "AUV");
Console.WriteLine("Hashtable elements...");
foreach (DictionaryEntry d in hash)
{
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of Key/value pairs = " + hash.Count);
hash.Add("D", "Utility Vehicle");
hash.Add("E", "Convertible");
Console.WriteLine("Count of Key/value pairs (Updated) = " + hash.Count);
}
}
ผลลัพธ์
Hashtable elements... C AUV A SUV B MUV Count of Key/value pairs = 3 Count of Key/value pairs (Updated) = 5
ตัวอย่างที่ 2: Hashtable ขนาดใหญ่พร้อม Enumerator
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("Is the Hashtable having fixed size? = " + hash.IsFixedSize);
Console.WriteLine("Count of key/value pairs in Hashtable = " + hash.Count);
Console.WriteLine("\nEnumerator to iterate through the Hashtable...");
IDictionaryEnumerator demoEnum = hash.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
}
ผลลัพธ์
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 Is the Hashtable having fixed size? = False Count of key/value pairs in Hashtable = 10 Enumerator to iterate through the Hashtable... Key = 10, Value = J Key = 1, Value = A Key = 2, Value = B Key = 3, Value = C Key = 4, Value = D Key = 5, Value = E Key = 6, Value = F Key = 7, Value = G Key = 8, Value = H Key = 9, Value = I
สรุป
Countให้จำนวนคู่คีย์/ค่าทันที- Hashtable ไม่เรียงลำดับ ลำดับการ enumeration ไม่แน่นอน
- ใหม่ควรใช้
Dictionary<TKey, TValue>แทน (generic, type-safe, เร็วกว่า)