首先,从命名空间开始
System.Collections
接下来进入正题.
Hashtable的常用方法和属性:
01:常用属性
属性名称 | 说明 |
Count | 获取包含在Hashtable中键/值对的数目 |
Keys | 获取包含在Hashtable中键的集合 |
Values | 获取包含Hashtable中值的集合 |
02:常用方法
返回值类型 | 方法名称 | 说明 |
void | Add(Object key,Object value) | 将带有指定键和值得元素添加到HashTable中 |
void | Remove(Object Key) | 从Hashtable中移除带有特定键的元素 |
void | Clear() | 从Hashtable中移除所有元素 |
好了,光说不练假把式,上代码
class Program { static void Main(string[] args) { // 创建一个Hashtable实例 Hashtable ht=new Hashtable(); // 添加keyvalue键值对 ht.Add("A","1"); ht.Add("B","2"); ht.Add("C","3"); ht.Add("D","4"); // 遍历哈希表只能用foreach来遍历,因为Hashtable不能用索引访问
//遍历key
foreach(Object item in ht.Keys)
{
Console.WriteLine((string)item);
}
//遍历value
foreach(Object item in ht.Value)
{
Console.WriteLine((string)item);
}
foreach (DictionaryEntry de in ht) { Console.WriteLine("Key -- {0}; Value --{1}.", de.Key, de.Value); }
// 哈希表排序 ArrayList akeys=new ArrayList(ht.Keys); akeys.Sort(); foreach (string skey in akeys) { Console.WriteLine("{0, -15} {1, -15}", skey, ht[skey]); } // 判断哈希表是否包含特定键,其返回值为true或false if (ht.Contains("A")) Console.WriteLine(ht["A"]); // 给对应的键赋值 ht["A"] ="你好"; // 移除一个keyvalue键值对 ht.Remove("C"); // 遍历哈希表 foreach (DictionaryEntry de in ht) { Console.WriteLine("Key -- {0}; Value --{1}.", de.Key, de.Value); } // 移除所有元素 ht.Clear(); // 此处将不会有任何输出 Console.WriteLine(ht["A"]); Console.ReadKey(); } }