C#中的Hashtable 类使用详解

2022-09-21 17:17:50
目录
一:Hashtable 类简单说明二:Hashtable 类的构造函数三:Hashtable 类的属性四:Hashtable 类的常用方法1: Hashtable.Add(Object, Object) 的方法介绍2: Hashtable.Clone ()的方法介绍3: Hashtable.ContainsKey(Object)和ContainsValue(Object)的方法介绍4:Hashtable.Remove(Object)的方法介绍

一: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:>
    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:>
      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:>
        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)作用:确定>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 类 内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!