一,哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.
二,哈希表的简单操作
在哈希表中添加一个keyvalue键值对:HashtableObject.Add(key,value);
在哈希表中去除某个keyvalue键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key);
下面控制台程序将包含以上所有操作:
using System;
using System.Collections; file使用Hashtable时,必须引入这个命名空间
class hashtable
{
public static void Main()
{
Hashtable ht=new Hashtable(); file创建一个Hashtable实例
ht.Add(E,e);添加keyvalue键值对
ht.Add(A,a);
ht.Add(C,c);
ht.Add(B,b);
string s=(string)ht[A];
if(ht.Contains(E)) file判断哈希表是否包含特定键,其返回值为true或false
Console.WriteLine(the E keyexist);
ht.Remove(C);移除一个keyvalue键值对
Console.WriteLine(ht[A]);此处输出a
ht.Clear();移除所有元素
Console.WriteLine(ht[A]); file此处将不会有任何输出
}
}
三,遍历哈希表
遍历哈希表需要用到DictionaryEntry Object,代码如下:
for(DictionaryEntry de in ht) fileht为一个Hashtable实例
{
Console.WriteLine(de.Key);de.Key对应于keyvalue键值对key
Console.WriteLine(de.Value);de.Key对应于keyvalue键值对value
}
四,对哈希表进行排序
对哈希表进行排序在这里的定义是对keyvalue键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
ArrayList akeys=new ArrayList(ht.Keys); file别忘了导入System.Collections
akeys.Sort(); file按字母顺序进行排序
for(string skey in akeys)
{
Console.Write(skey + );
Console.WriteLine(ht[skey]);排序后输出
}
发表评论
-
Mysql 里的主键,外键
2011-11-29 14:52 894- PK: primary key (column is pa ... -
自由调整摄像机视角
2011-10-11 14:33 1185暂时没写.... -
[Unity3D]Script 脚本所有编译器属性详解 .
2011-09-25 14:15 1856Script属性是基于IDE的一 ... -
Unity3D鼠标滚轮控制摄像机远近
2011-09-24 23:37 7451// 鼠标中间键 var MouseWheelSens ... -
Save and Load from XML .
2011-09-23 15:12 801保存工程的信息:比如游戏进程中的位置信息,对抗双方的个人信息等 ... -
血条或者进度条
2011-09-23 14:52 1532用Unity做血条或进度条真的很方便,GUI里scrollba ... -
动态加载贴图和模型
2011-09-23 14:49 1971模型和贴图必需存在“Resources”文件夹下面 var ... -
unity3D射线检测,鼠标拾取
2011-09-23 12:34 2795用射线检测碰撞,拾取 function Update ... -
Unity3D模型导入技巧
2011-09-23 10:37 1070Unity3d导入3dMax模型会产 ... -
XML的操作
2011-09-23 10:30 772首先是判定浏览器的类型和版本的js: var sUserA ... -
鼠标中间的滑动控制
2011-09-23 10:28 1325MouseWheel.js的代码如下: ... -
Unity3D发布的问题
2011-09-23 10:27 948unity发布过程中因为要查询数据库,所以发布会有一些问题,特 ... -
unity3D与网页的交互---做项目的一点总结
2011-09-23 10:23 1381由于项目需要,要求用unity来展示三维场景,并在三维中能够方 ... -
Unity3D动态加载网上或者本地场景的后续
2011-09-23 10:22 3039用射线检测法的可行性和优点。射线检测 射线碰到碰撞体后会返回 ... -
动态加载本地或者网上场景
2011-09-23 10:20 99301 var gui : GUITexture; ... -
飞行路径
2011-09-23 10:18 1014Unity3d游戏开发 1. 建立一个名为FlyPath ... -
修改FPSWalker.js
2011-09-23 10:17 905unity3d游戏开发 替换说明:用FPSWalker. ... -
Unity3D行走和飞行
2011-09-23 10:11 4368新建一个TestFlay.js脚本,内容如下: var s ...
相关推荐
主要介绍了C#中哈希表(HashTable)用法,简单讲述了哈希表的原理并结合实例形式详细分析了C#针对哈希表进行添加、移除、判断、遍历、排序等操作的实现技巧,需要的朋友可以参考下
C#中关于序列化HashTable的具体用法详解
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应...
主要介绍了C#将hashtable值转换到数组中的方法,涉及C#中CopyTo方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
直接上代码,代码中使用四种方法遍历Hashtable。 using System; using System.Collections; namespace HashtableExample { class Program { static Hashtable hashtable = new Hashtable(); static void Main...
主要介绍了C#使用foreach遍历哈希表(hashtable)的方法,是C#中foreach语句遍历散列表的典型应用,非常具有实用价值,需要的朋友可以参考下
Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对 <BR><BR>在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value); 在哈希表中去除某个key/value键值对:...
c#中的hashtable的简单用法,含有几个例子代码。
在 C#中使用 Params 关键字 利用正则表达式统计单词个数 标签(Label)随鼠标移动而移动 如何从你的应用程序执行exe文件 在控制台应用程序中隐藏用户的密码 在 asp.net页面上实现媒体播放 a.Equals(b) 和 a == b ...
想到SortedList这个东西很多方面跟Hashtable差不多,不过它还能依序取得集合中的元素,只是用的不是整数类型的Item属性,而是用GetByIndex()方法。所以就用它来偷梁换柱一下了。// [EnvironmentPermission...
分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...
.net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread(Report.GetCurrentWin32ThreadID(),Thread.CurrentThread); #region 获取当取线程的...
.net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread(Report.GetCurrentWin32ThreadID(),Thread.CurrentThread); #region 获取当取线程的...
本文档对C#的几种常见的集合(BitArray, Dictionary, Hashtable, NameValueCollection, Queue, Stack)的用法作了归纳,每种集合都附有完整的测试代码。(另外一种常见集合ArrayList收录在另外一份文档:<C# List使用...