C#哈希表,可能对于很多同行来说已经很熟悉.刚开始接触时有点陌生,后来用多了也就熟了.当然网上关于这一个知识点的介绍很多,不过这并不妨碍我个人对此作出自己的总结与理解.
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对.
因此在用的过程中,需引用:using System.Collections;下面列一下常用的用法,右边给出相应的注释.
一.常用的方法:
Hashtable hshTable = new Hashtable(); // 创建哈希表 hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加键值对 hshTable .Clear(); //移除哈希表里所有的键值对 hshTable .Contains("Person1"); //判断哈希表里是否包含该键 string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定键的值 hshTable.Remove("Person1"); // 删除哈希表里指定键的键值对 IDictionaryEnumerator en = hshTable.GetEnumerator(); // 遍历哈希表所有的键,读出相应的值 while (en.MoveNext()) { string str = en.Value.ToString(); } 二.遍历C#哈希表:
遍历哈希表需要用到DictionaryEntry Object,代码如下:
for(DictionaryEntry de in ht) //ht为一个Hashtable实例 { Console.WriteLine(de.Key);//de.Key对应于key/value键值对key Console.WriteLine(de.Value);//de.Key对应于key/value键值对value } 三.对C#哈希表进行排序
对哈希表进行排序在这里的定义是对key/value键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //记得导入System.Collections akeys.Sort(); //调用了akeys的按字母顺序进行排序Sort,这个很容易单独实现 for(string skey in akeys) { Console.Write(skey + ":"); Console.WriteLine(ht[skey]);//排序后输出 } C#哈希表在编程中用的比较多,功能强大,掌握并能熟悉运用是一件很好的事情!
分享到:
相关推荐
哈希表的方法总结,内有如何使用哈希表的各种方法
主要介绍了C#中哈希表(HashTable)用法,简单讲述了哈希表的原理并结合实例形式详细分析了C#针对哈希表进行添加、移除、判断、遍历、排序等操作的实现技巧,需要的朋友可以参考下
本文实例讲述了C#使用foreach遍历哈希表(hashtable)的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collection; namespace HashSampleApplication1 { class Program { static ...
Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对 <BR><BR>在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value); 在哈希表中去除某个key/value键值对:...
javascript中没有像c#,java那样的哈希表(hashtable)的实现。在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的方法就可以实现简单高效的hashtable。
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应...
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应...
本书使用C#语言及面向对象的方法介绍了数据结构的基础知识,并针对数据结构中的难点及关键点,配套了视频教程,使用动画加讲解的方式对数据结构及算法进行了详细地介绍。 全书共分10章,第1-6章主要介绍了线性表、...
直接上代码,代码中使用四种方法遍历Hashtable。 using System; using System.Collections; namespace HashtableExample { class Program { static Hashtable hashtable = new Hashtable(); static void Main...
实例107 使用哈希表对XML文件进行查询 127 实例108 计算两个矩形矩阵的乘积 129 第5章 面向对象编程技术 131 5.1 属性和方法 132 实例109 使用属性存储用户编号和姓名 132 实例110 通过定义方法求一个数的平方 133 ...
1.5.8 ContainsValue方法——确定哈希表是否包含特定值 101 1.5.9 Count属性——获取数目 102 1.5.10 GetEnumerator方法——循环访问对象 103 1.5.11 GetEnvironmentVariables方法——检索环境变量 104 1.5.12 ...
c#经典, 数组的定义 声明和操作一维和二维数组 交错数组和多维数组 简单的排序方法 数组列表、哈希表、堆栈集合的用法
使用C#实现对Sql数据库的操作,执行存储过程,Sql语句,返回影响行数,返回DateTable,DataSet,DataReader,以及表集等方法。实现多个数据库的切换功能。功能强大,希望大家喜欢 2.一个操作Sql2005数据库的类(备份...
这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。 集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。...
序中判断是否为数字的方法有很多种,可以使用正则表达式、int.Parse 方法和double.Parse 方法等。下面的代码 通过double.Parse 方法判断textBox1 文本框中的输入是否为数字。 double.Parse(textBox1.Text); 实例573 ...