[转]Dictionary对象介绍
作者:cmscn 日期:2009-08-13
Dictionary对象是很像一个数组,但是它比数组更为灵活和实用。与数组不同,Dictionary对象是动态的,不必声明包含元素的数量。向Dictionary对象里添加一个元素后,Dictionary对象就会自动增长以保存这个元素;删除一个元素时,Dictionary对象也会自动缩小。如果使用动态数组,虽然也可以完成同样的工作,但是必须要Redim Preserve命令来扩展或缩小数组。
Dictionary对象可以在任何一个位置上删除元素。例如,Dictionary对象可以删除 第一个元素,并把它的空间释放掉。此时原来处在第二位置上的元素变为第一个元素,依次类推。
在使用Dictionary对象时,不必用数字来查询元素,可以用关键字进行查询,就像查字典一样。在向Dictionary对象里添加元素时,不仅添加了真实的值,也添加了一个用于查找数值的字符串。
创建Dictionary对象的语法如下:
<%
Dim objDictioary '定义变量
Set objDictionary=Sever.Create("Scripting.Dictionary")
%>
1. Dictionary对象提供如下的属性。
表8-1 Dictionary对象常见属性
对象 说明
CompareMode 设置或者返回字符串比较模式
Count 返回Dictionary中的字/项组合的数量(只读)
Item(key) 设置或者返回特定key的对应项值
Key(key) 设置或者返回key的值
其中CompareMode 语法如下:
objDictionary.CompareMode[=Compare]
参数objDictionary表示Dictionary对象名称;Compare表示比较模式。当Compare为vbBianryCompare时执行二进制比较;为vbTextCompare时执行文本比较。
2. Dictionary对象提供如下的方法
(1)Add(key,item) 在Dictionary中添加“关键字/项”组合,语法如下:
ObjDictionary.Add key,item
参数key与参数item是关联的。
下面的程序创建一个Dictionary对象实例,并插入数据。
<%
Dim objDictionary '定义变量
Set objDictionary=Sever.Createobject("Scripting.Dictionary")
objDictionary.Add"a","步骤1"
objDictionary.Add"b","步骤2"
objDictionary.Add"c","步骤3"
%>
(2)Exists(key) 判断指定的key是否存在,如果存在则返回True,否则返回False.
(3)Item() 返回一个数组,它包含了Dictionary对象中的所有项。
(4)keys() 返回一个数字,它包含了Dictionary对象中的所有关键字。
(5)Remove(key) 删除指定key 的一个关键字/项组合。
(6)RemoveAll() 删除Dictionary对象中所有的关键字/项组合。
下面的操作将会导致出现错误:
1)在已经存在某关键字的情况下加入同一“关键字/项”组合。
2)删除不存在的关键字/项的组合。
3)修改已经包含数据的Dictionary对象的CompareMode属性。
评论: 0 | 引用: 0 | 查看次数: 401
发表评论