page contents

c# hashtable 用法

本文讲述了c# hashtable 用法!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-07-0GJUvpMR62c791506910e.png

本文讲述了c# hashtable 用法!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

一、什么是Hashtable?

Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。

当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目

二、Hashtable 的属性

1、Count 获取 Hashtable 中包含的键值对个数。

2、IsFixedSize   获取一个值,表示 Hashtable 是否具有固定大小。

3、IsReadOnly    获取一个值,表示 Hashtable 是否只读。

4、Item  获取或设置与指定的键相关的值。

5、Keys  获取一个 ICollection,包含 Hashtable 中的键。

6、Values    获取一个 ICollection,包含 Hashtable 中的值。

三、Hashtable 的方法

在C#中使用需要引用

using System.Collections;

using System.Collections.Generic;

这两个命名空间

1、  public virtual void Add( object key, object value );

用途: 向 Hashtable 添加一个带有指定的键和值的元素。

2、public virtual void Clear();

用途:从 Hashtable 中移除所有的元素。

3、public virtual bool ContainsKey( object key );

用途:判断 Hashtable 是否包含指定的键。

4、public virtual bool ContainsValue( object value );

用途:判断 Hashtable 是否包含指定的值。

5、public virtual void Remove( object key );

用途:从 Hashtable 中移除带有指定的键的元素。

四、HashTable的应用场景

1、某些数据会被高频率查询

2、数据量很大

3、查询字段包含字符串类型

4、数据类型不唯一

五、HashTable简单用法实例

class Program

    {

        static void Main(string[] args)

        {

            // 创建一个Hashtable实例

            Hashtable ht=new Hashtable();

  

            // 添加keyvalue键值对

            ht.Add("A","1");

            ht.Add("B","2");

            ht.Add("C","3");

            ht.Add("D","4");

  

            // 遍历哈希表只能用foreach来遍历,因为Hashtable不能用索引访问

            //遍历key

            foreach(Object item in ht.Keys)

            {

                Console.WriteLine((string)item);

            }

            //遍历value

            foreach(Object item in ht.Value)

            {

                 

                Console.WriteLine((string)item);

            }

            foreach (DictionaryEntry de in ht)

            {

                Console.WriteLine("Key -- {0}; Value --{1}.", de.Key, de.Value);

            }

  

            // 哈希表排序

            ArrayList akeys=new ArrayList(ht.Keys);

            akeys.Sort();

            foreach (string skey in akeys)

            {

                Console.WriteLine("{0, -15} {1, -15}", skey, ht[skey]);

  

            }

  

            // 判断哈希表是否包含特定键,其返回值为true或false

            if (ht.Contains("A"))

              Console.WriteLine(ht["A"]);

              

            // 给对应的键赋值

            ht["A"] ="你好";

  

            // 移除一个keyvalue键值对

            ht.Remove("C");

  

            // 遍历哈希表

            foreach (DictionaryEntry de in ht)

            {

                Console.WriteLine("Key -- {0}; Value --{1}.", de.Key, de.Value);

            }

         

            // 移除所有元素

            ht.Clear();

    

            // 此处将不会有任何输出

            Console.WriteLine(ht["A"]);

            Console.ReadKey();

        }

    }

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2022-07-08 10:08
  • 阅读 ( 393 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章