บทความนี้สาธิตวิธีตรวจสอบว่า Hashtable มีคีย์ (key) ที่ระบุอยู่หรือไม่ โดยใช้เมธอด ContainsKey() ใน C#
ตัวอย่างที่ 1: ตรวจสอบคีย์ใน Hashtable
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable();
hash.Add("One", "Katie");
hash.Add("Two", "John");
hash.Add("Three", "Barry");
hash.Add("Four", "Mark");
hash.Add("Five", "Harry");
hash.Add("Six", "Nathan");
hash.Add("Seven", "Tom");
hash.Add("Eight", "Andy");
hash.Add("Nine", "Illeana");
hash.Add("Ten", "Tim");
Console.WriteLine("Hashtable Key and Value pairs...");
foreach (DictionaryEntry entry in hash)
{
Console.WriteLine("{0} and {1}", entry.Key, entry.Value);
}
Console.WriteLine("Is Hashtable having fixed size? = " + hash.IsFixedSize);
Console.WriteLine("If Hashtable read-only? = " + hash.IsReadOnly);
Console.WriteLine("The Hashtable consists of the key? = " + hash.ContainsKey("Seven"));
}
}
ผลลัพธ์
Hashtable Key and Value pairs... One and Katie Ten and Tim Five and Harry Three and Barry Seven and Tom Two and John Four and Mark Eight and Andy Nine and Illeana Six and Nathan Is Hashtable having fixed size? = False If Hashtable read-only? = False The Hashtable consists of the key? = True
ตัวอย่างที่ 2: ตรวจสอบคีย์ตัวเลขใน Hashtable
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable();
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 Hashtable having fixed size? = " + hash.IsFixedSize);
Console.WriteLine("If Hashtable read-only? = " + hash.IsReadOnly);
Console.WriteLine("The Hashtable consists of the key? = " + hash.ContainsKey("5"));
}
}
ผลลัพธ์
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 Hashtable having fixed size? = False If Hashtable read-only? = False The Hashtable consists of the key? = True
สรุป
- ใช้
ContainsKey(key)เพื่อตรวจสอบว่าคีย์มีอยู่ใน Hashtable หรือไม่ — คืนค่าbool - Hashtable ไม่รับประกันลำดับของข้อมูล (ลำดับอาจแตกต่างจากที่เพิ่มเข้าไป)
- คุณสมบัติ
IsFixedSizeและIsReadOnlyคืนค่าfalseสำหรับ Hashtable ทั่วไป - ข้อแนะนำ: ในโค้ดใหม่ควรใช้
Dictionary<TKey, TValue>แทน Hashtable เพราะมี type safety, ประสิทธิภาพดีกว่า และรองรับ generic