C# Hashtable (哈希表)
-
Hashtable
Hashtable类表示键和值对的集合,这些键和值对基于键的哈希码进行组织。它使用键来访问集合中的元素。当您需要使用key访问元素时,可以使用哈希表,并且可以标识有用的键值。哈希表中的每个项目都有一个键/值对。该键用于访问集合中的项目。 -
Hashtable类的方法和属性
Hashtable 类的方法和属性下表列出了 Hashtable 类的一些常用属性-属性 功能 Count 获取哈希表中包含的键和值对的数量。 IsFixedSize 获取一个值,该值指示Hashtable是否具有固定大小。 IsReadOnly 获取一个值,该值指示Hashtable是否为只读。 Item 获取或设置与指定键关联的值。 Keys 获取一个ICollection,其中包含哈希表中的键。 Values 获取一个ICollection,其中包含Hashtable中的值。 下表列出了Hashtable类的一些常用方法-方法 功能 public virtual void Add(object key, object value); 将具有指定键和值的元素添加到哈希表中。 public virtual void Clear(); 从哈希表中删除所有元素。 public virtual bool ContainsKey(object key); 确定哈希表是否包含特定键。 public virtual bool ContainsValue(object value); 确定哈希表是否包含特定值。 public virtual void Remove(object key); 从哈希表中删除具有指定键的元素。 -
示例
以下示例演示了概念-
尝试一下using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001", "Alex Moo"); ht.Add("002", "Abida Rehman"); ht.Add("003", "Joe Holzner"); ht.Add("004", "Mausam Benazir Nur"); ht.Add("005", "M. Amlan"); ht.Add("006", "M. Arif"); ht.Add("007", "Ritesh Saikia"); if (ht.ContainsValue("Feng Lee")) { Console.WriteLine("This student name is already in the list"); } else { ht.Add("008", "Feng Lee"); } // Get a collection of the keys. ICollection key = ht.Keys; foreach (string k in key) { Console.WriteLine(k + ": " + ht[k]); } Console.ReadKey(); } } }
编译并执行上述代码后,将产生以下结果-001: Alex Moo 002: Abida Rehman 003: Joe Holzner 004: Mausam Benazir Nur 005: M. Amlan 006: M. Arif 007: Ritesh Saikia 008: Feng Lee