Giới thiệu
Hashtable (namespace System.Collections) lưu trữ cặp khóa-giá trị. Thuộc tính Values trả về ICollection chứa tất cả giá trị, trong khi Keys trả về tập hợp khóa. Lưu ý: thứ tự không được đảm bảo.
Ví dụ 1: Duyệt qua Keys để lấy giá trị
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable();
hash.Add("A", "Electronics");
hash.Add("B", "Appliances");
hash.Add("C", "Pet Supplies");
hash.Add("D", "Books");
hash.Add("E", "Toys");
hash.Add("F", "Footwear");
hash.Add("G", "Clothing");
ICollection col = hash.Keys;
foreach (string str in col)
{
Console.WriteLine(str + ": " + hash[str]);
}
}
}
Kết quả
G: Clothing A: Electronics B: Appliances C: Pet Supplies D: Books E: Toys F: Footwear
Ví dụ 2: Sử dụng khóa số nguyên
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable();
hash.Add(1, "AB");
hash.Add(2, "CD");
hash.Add(3, "EF");
hash.Add(4, "GH");
hash.Add(5, "IJ");
hash.Add(6, "KL");
hash.Add(7, "MN");
ICollection col = hash.Keys;
foreach (int str in col)
{
Console.WriteLine("Key = " + str + ", Value = " + hash[str]);
}
}
}
Kết quả
Key = 7, Value = MN Key = 6, Value = KL Key = 5, Value = IJ Key = 4, Value = GH Key = 3, Value = EF Key = 2, Value = CD Key = 1, Value = AB
Lưu ý quan trọng
- Hashtable không đảm bảo thứ tự phần tử
- Để duyệt cả khóa và giá trị hiệu quả, dùng
foreach (DictionaryEntry entry in hash) - Trong .NET mới, ưu tiên dùng
Dictionary<TKey, TValue>(kiểu mạnh, hiệu suất tốt hơn) Valuestrả về tập hợp giá trị,Keystrả về tập hợp khóa