using System.Collections; namespace Lesson4_Hashtable { internal class Program { static void Main(string[] args) { #region 知识点一 Hashtable的本质 //Hashtable(又称散列表)是基于键的哈希代码组织起来的键/值对的集合。 //它的主要作用是提高数据查询的效率 //使用键来快速查找对应的值,而不需要遍历整个集合。 #endregion #region 知识点二 声明 //需要引用system.collections命名空间 Hashtable hashtable = new Hashtable(); #endregion #region 知识点三 增删查改 //只能通过键来操作值 //增 hashtable.Add("001", "张三"); // ↑键 ↑值 hashtable.Add("002", "李四"); hashtable.Add(true, false); hashtable.Add(false, false); //注意:不能出现相同的键 //删 //1.只能通过键来删除 hashtable.Remove("001"); //2.删除不存在的键不会报错也不会有任何反应 hashtable.Remove("003"); //3.清空 hashtable.Clear(); hashtable.Add(1, "张三"); hashtable.Add(2, "李四"); hashtable.Add(3, false); hashtable.Add(true, false); //查 //1.通过键来查找值,找不到返回null Console.WriteLine(hashtable[1]);//找键值为1的值 Console.WriteLine(hashtable[4]);//不存在,返回null Console.WriteLine(hashtable[true]);//找键值为true的值 //2.查看是否存在 //根据键检测 if(hashtable.ContainsKey(2)) { Console.WriteLine("存在键为2的元素"); } if(hashtable.ContainsKey(4)) { Console.WriteLine("存在键为4的元素"); } //根据值检测 if(hashtable.ContainsValue("李四")) { Console.WriteLine("存在值为李四的元素"); } //改 hashtable[1] = "王五";//修改键为1的值 #endregion #region 知识点四 遍历 //1.对数 Console.WriteLine(hashtable.Count); //2.遍历所有键 foreach (object item in hashtable.Keys) { Console.WriteLine("键"+item); Console.WriteLine("值"+hashtable[item]); } //3.遍历所有值 foreach (object item in hashtable.Values) { Console.WriteLine("值"+item); } //3.键值对一起遍历 foreach (DictionaryEntry item in hashtable) { Console.WriteLine("键值"+item.Key+item.Value); } //4.迭代器遍历法 IDictionaryEnumerator myEnumerator = hashtable.GetEnumerator(); bool flag = myEnumerator.MoveNext(); while (flag) { Console.WriteLine("键值" + myEnumerator.Key + myEnumerator.Value); flag = myEnumerator.MoveNext(); } #endregion #region 知识点五 装箱拆箱 //一样的 #endregion } } }