C#集合类型——Hashtable、Dictionary之浅谈

Hashtable表

数组、数组集合、List集合都是通过索引来访问里面成员。哈希表则是通过键来访问成员值。键不可为空,值可为空。

比如:

Hashtable  hash=new  Hashtable();

hash.Add("one","chen");

 

hash.Add("two","li");

Console.WriteLine(hash["one"]);

运行结果:chen

基本的常用方法

1,添加

Add()方法;如上,需要添加键和值。

2,删除

Clear()方法:Remove()方法;

hash.Clear();

结果就是清空hash表。

hash.Remove("one");

结果就是删除键为one的那一项,包括删除键和值。

3.遍历

foreach()与一般集合类型一样。就是输出结果需要分开输出。比如;

Console.WriteLine("键:"+hash.Key+"值:"+hash.Value);

4.查找

Contains()方法;ContainsValue()方法;

Console.WriteLine(hash.Contains("one"));//判断hash表中是否含有为one的

运行结果:true

 

Console.WriteLine(hash.ContainsValue("chen"));//判断hash表中是否含有为chen的

 

运行结果:true

 

哈希表的类型没有规定,因此在有的地方运行时会出错。这时候需要字典。

字典Dictionary<TKy,TValue>

字典和哈希表成员一样,需要键和值来对应。但是字典有对应的类型来控制键和值的属性。

比如:

Dictionary<int,string> dc=new Dictinary<int,string>();

常用的方法;

1,添加

dc.Add(1,"chen");

字典可以添加一般固定的类型如int,double,string,等还可以添加自定义类型,如 List 一样。

2,其他方法与哈希表一样。

 

注;当哈希表输出的键不存在时,输出的值结果为空;则字典输出的键不存在,输出的值结果时会报错。

posted @ 2016-05-15 20:37  安以痕_陈  阅读(204)  评论(0编辑  收藏  举报