本文讲述了c#hashtable的使用方法!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
一:Hashtable 类简单说明
1)表示根据键的哈希代码进行组织的键/值对的集合。使用哈希代码生成的哈希值,是唯一地标识数据的固定长度的数字值。
2)HashTable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常用来快速查找,key区分大小写;value用于存储对应key值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.
Count | 获取包含在 Hashtable 中的键/值对的数目。 |
EqualityComparer | 获取要用于 IEqualityComparer 的 Hashtable。 |
IsFixedSize | 获取一个值,该值指示 Hashtable 是否具有固定大小。 |
Item[Object] | 获取或设置与指定的键关联的值。 |
Keys | 获取包含 ICollection 中的键的 Hashtable。 |
Values | 获取一个 ICollection,它包含 Hashtable 中的值。 |
1 | public virtual void Add (object key, object value); |
3)使用举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 创建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add("one", "The"); myHT.Add("two", "quick"); myHT.Add("three", "brown"); myHT.Add("four", "fox"); // 显示哈希表. Console.WriteLine("哈希表包含以下内容:"); Console.WriteLine("\t-KEY-\t-VALUE-"); foreach (DictionaryEntry de in myHT) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); } |
4)运行结果:
哈希表包含以下内容:
-KEY- -VALUE-
three: brown
one: The
two: quick
four: fox
1 | public virtual object Clone (); |
3)使用举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 创建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); // 克隆新的哈希表. var myHT2 = (Hashtable)myHT.Clone(); // 显示克隆的哈希表. Console.WriteLine("哈希表包含以下内容:"); Console.WriteLine("\t-KEY-\t-VALUE-"); foreach (DictionaryEntry de in myHT2) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); } |
4)运行结果:
哈希表包含以下内容:
-KEY- -VALUE-
4: GUNDAM
3: destiny
2: Justice
4: Freedom
1 2 | public virtual bool ContainsKey (object key); public virtual bool ContainsValue (object value); |
3)使用举例:
1 2 3 4 5 6 7 8 9 10 11 12 | // 创建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); Console.WriteLine("The key \"{0}\" is {1}.", 3, myHT.ContainsKey(3) ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The key \"{0}\" is {1}.", 6, myHT.ContainsKey(6) ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The value \"{0}\" is {1}.", "Freedom", myHT.ContainsValue("Freedom") ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The value \"{0}\" is {1}.", "GUNDAM", myHT.ContainsValue("GUNDAM") ? "在哈希表中" : "不在在哈希表中"); |
4)运行结果:
The key "3" is 在哈希表中.
The key "6" is 不在在哈希表中.-
The value "Freedom" is 在哈希表中.
The value "GUNDAM" is 在哈希表中.
1 | public virtual void Remove (object key); |
3)使用举例:
1 2 3 4 5 6 7 8 9 10 11 12 | // 创建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); myHT.Remove(4);//移除指定键的元素 foreach (DictionaryEntry de in myHT) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); } |
4)运行结果:
3: destiny
2: Justice
1: Freedom
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!