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

การเพิ่มสมาชิกลงใน Hashtable ใน C#

ภาพรวม

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, เร็วกว่า)