C#中的Hashtable?类使用详解

 更新时间:2022年09月20日 15:32:00   作者:零点工程师  
这篇文章主要介绍了C#中的Hashtable?类使用详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

一:Hashtable 类简单说明

1)表示根据键的哈希代码进行组织的键/值对的集合。使用哈希代码生成的哈希值,是唯一地标识数据的固定长度的数字值。
2)HashTable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常用来快速查找,key区分大小写;value用于存储对应key值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.

二:Hashtable 类的构造函数

三:Hashtable 类的属性

构造函数构造函数说明
Count获取包含在 Hashtable 中的键/值对的数目。
EqualityComparer获取要用于 IEqualityComparer 的 Hashtable。
IsFixedSize获取一个值,该值指示 Hashtable 是否具有固定大小。
Item[Object]获取或设置与指定的键关联的值。
Keys获取包含 ICollection 中的键的 Hashtable。
Values获取一个 ICollection,它包含 Hashtable 中的值。

四:Hashtable 类的常用方法

1: Hashtable.Add(Object, Object) 的方法介绍

  • 1)作用:将带有指定键和值的元素添加到 Hashtable 中。
  • 2)语法:
public virtual void Add (object key, object value);

3)使用举例:

// 创建并初始化新的哈希表.
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

2: Hashtable.Clone ()的方法介绍

  • 1)作用:创建 Hashtable 的浅表副本
  • 2)语法:
public virtual object Clone ();

3)使用举例:

// 创建并初始化新的哈希表.
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

3: Hashtable.ContainsKey(Object)和ContainsValue(Object)的方法介绍

  • 1)作用:确定 Hashtable 是否包含特定键或者特定值。
  • 2)语法:
public virtual bool ContainsKey (object key);
public virtual bool ContainsValue (object value);

3)使用举例:

// 创建并初始化新的哈希表.
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 在哈希表中.

4:Hashtable.Remove(Object)的方法介绍

  • 1)作用:确定 Hashtable 是否包含特定键或者特定值。
  • 2)语法:
public virtual void Remove (object key);

3)使用举例:

// 创建并初始化新的哈希表.
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

到此这篇关于C#中的Hashtable 类使用详解的文章就介绍到这了,更多相关C# Hashtable 类 内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Unity实现物体左右移动效果

    Unity实现物体左右移动效果

    这篇文章主要为大家详细介绍了Unity实现物体左右移动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Unity?百度AI实现Logo商标识别

    Unity?百度AI实现Logo商标识别

    本文主要介绍了Unity实现检测和识别图片中的品牌LOGO信息。即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中LOGO的名称、位置和置信度。需要的可以参考一下
    2022-01-01
  • C#实现自定义单选和复选按钮样式

    C#实现自定义单选和复选按钮样式

    这篇文章主要为大家详细介绍了如何利用C#实现定义单选和复选按钮样式,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#统计字符串的方法

    C#统计字符串的方法

    这篇文章主要为大家详细介绍了C#统计字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C#向线程中传递多个参数的解决方法(两种)

    C#向线程中传递多个参数的解决方法(两种)

    这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • C#验证码识别类完整实例

    C#验证码识别类完整实例

    这篇文章主要介绍了C#验证码识别类,以一个完整实例形式较为详细的分析了验证码图片处理所涉及的各种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#使用LOCK实现线程同步

    C#使用LOCK实现线程同步

    这篇文章介绍了C#使用LOCK实现线程同步的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#为控件添加自定义事件及自定义触发

    C#为控件添加自定义事件及自定义触发

    C#本身提供了很强大的控件库,但是很多控件库的功能只是一些基本的功能,本文主要介绍了C#为控件添加自定义事件及自定义触发,具有一定的参考价值,感兴趣的可以了解一下
    2022-04-04
  • C#中的延时函数sleep

    C#中的延时函数sleep

    这篇文章主要介绍了C#中的延时函数sleep用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 精简高效的C#网站优化经验技巧总结

    精简高效的C#网站优化经验技巧总结

    这篇文章主要为大家介绍了精简高效的C#网站优化经验技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04

最新评论

?


http://www.vxiaotou.com