Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ตรวจสอบว่า Hashtable มีคีย์เฉพาะหรือไม่ใน C#

บทความนี้สาธิตวิธีตรวจสอบว่า 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