服务器在无盘网吧的现在与将来(1)
2008-06-29 23:44
183 查看
哈希表,可能对于很多同行来说已经很熟悉.刚开始接触时有点陌生,后来用多了也就熟了.当然网上关于这一个知识点的介绍很多,不过这并不妨碍我个人对此作出自己的总结与理解.
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对.
因此在用的过程中,需引用:using System.Collections;下面列一下常用的用法,右边给出相应的注释.
一.常用的方法:
[align=left] Hashtable hshTable = new Hashtable(); // 创建哈希表[/align]
[align=left] hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加键值对[/align]
[align=left] hshTable .Clear(); //移除哈希表里所有的键值对[/align]
[align=left] hshTable .Contains("Person1"); //判断哈希表里是否包含该键[/align]
[align=left] string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定键的值[/align]
[align=left] hshTable.Remove("Person1"); // 删除哈希表里指定键的键值对[/align]
[align=left] IDictionaryEnumerator en = hshTable.GetEnumerator(); // 遍历哈希表所有的键,读出相应的值
while (en.MoveNext())
{
string str = en.Value.ToString();
}
二.遍历哈希表:[/align]
[align=left]遍历哈希表需要用到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 [/align]
[align=left] }
三.对哈希表进行排序
对哈希表进行排序在这里的定义是对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]);//排序后输出
} [/align]
[align=left] 哈希表在C#编程中用的比较多,功能强大,掌握并能熟悉运用是一件很好的事情![/align]本文出自 “男人不再沉默” 博客,请务必保留此出处http://zhanghf.blog.51cto.com/193856/33168
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对.
因此在用的过程中,需引用:using System.Collections;下面列一下常用的用法,右边给出相应的注释.
一.常用的方法:
[align=left] Hashtable hshTable = new Hashtable(); // 创建哈希表[/align]
[align=left] hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加键值对[/align]
[align=left] hshTable .Clear(); //移除哈希表里所有的键值对[/align]
[align=left] hshTable .Contains("Person1"); //判断哈希表里是否包含该键[/align]
[align=left] string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定键的值[/align]
[align=left] hshTable.Remove("Person1"); // 删除哈希表里指定键的键值对[/align]
[align=left] IDictionaryEnumerator en = hshTable.GetEnumerator(); // 遍历哈希表所有的键,读出相应的值
while (en.MoveNext())
{
string str = en.Value.ToString();
}
二.遍历哈希表:[/align]
[align=left]遍历哈希表需要用到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 [/align]
[align=left] }
三.对哈希表进行排序
对哈希表进行排序在这里的定义是对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]);//排序后输出
} [/align]
[align=left] 哈希表在C#编程中用的比较多,功能强大,掌握并能熟悉运用是一件很好的事情![/align]本文出自 “男人不再沉默” 博客,请务必保留此出处http://zhanghf.blog.51cto.com/193856/33168
相关文章推荐
- 服务器在无盘网吧的现在与将来(2)
- 服务器在无盘网吧的现在与将来(3)
- 网吧无盘服务器从30台----115台的经验(二)
- 我是开网吧的,以前是专门上网,只加了少量的游戏,现在我想做一个专门的游戏网 上网我以前服务器装的是NT4。0版,服务器的配置
- 网络服务器kickstart+pxe 无盘安装linux系统
- 浏览器功能一览:IE曾经垃圾,现在垃圾,将来仍然很垃圾
- 网吧电影服务器解决方案完全指南
- 无盘实用技术(一):详尽的服务器硬盘测试方法(转)
- 讲座”视频编解码技术简介:过去、现在及将来“
- 做无盘网吧系统的详细步骤(四)
- 金士顿无线网络驱动器内部监督办公室的Wi-Fi无线加载服务器现在发货
- 锐起无盘服务器与客户端设置
- 曾经、现在、将来
- 网吧简单服务器的安全铺设
- CentOS6.4-x86_64搭建cobbler+kickstart的网络无盘启动服务器
- 将来的你一定会感谢现在奋斗的自己
- 网吧无盘改造纪实
- 过去,现在和将来
- 网吧服务器设置全攻略
- 2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来