c# hash table 的一些操作方法

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

今天难得有了半天时间,鸣炮!任务都做完了,我终于有点时间去分析公司这个项目的代码,看到了其中有好多的对Hash table的应用。有好多的BLL层的代码的方法传入的是hashtable.其实我所做的模块中,如果有超过三个变量以上的参数传入我会将这些封装成一个个对象,可能是大学一直是用c语言,太多了参数的话就将其弄成结构体,到了C#我就封成对象,既然做的面向对象,为什么传参数还这样一个个用hashtable 一个个的add进来?我表示我初入C#,我没有去深究为什么公司大部分的都是用传入hash table的方式做参数。废话不多说了。记录一下对hash table的操作:

1、hash table要引入命名空间:system.colloctions;

            Hashtable lobjHashtable = new Hashtable(); //实例化
            lobjHashtable.Add(Key,value); //增加一个键值对,这里面这个key要是唯一的!
            lobjHashtable.Remove(Key);//移除一个key 
            lobjHashtable.Clear();//清除所有的键值对
            lobjHashtable.Contains(Key);// 是否包含某一个特定的Kye

           //eg
            lobjHashtable.Add("key1","value1");
            lobjHashtable.Add("key2","value2");
            lobjHashtable.Add("key3","value3");

            //取出某一个键的值
            string lstrTemp = (string)lobjHashtable["key1"];

c# 表的遍历方法:一下提供两种遍历hash table的方法

 foreach(DictionaryEntry objDE in lobjHashtable)
            {
                string lstrKey = objDE.Key.ToString();//键
                string lstrValue = objDE.Value.ToString();//值
            }

            System.Collections.IDictionaryEnumerator emutor = lobjHashtable.GetEnumerator();
            while(emutor.MoveNext())
            {
                string lstrKey = emutor.Key.ToString();
                string lstrValue emutor.Value.ToString();
            }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值