ASP Dictionary 对象
Dictionary 对象用于在结对的名称/值中存储信息(等同于键和项目)。
实例
指定的键存在吗?
本例演示如何受首先创建一个 Dictionary 对象,然后使用 Exists 方法来检查指定的键是否存在。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
if d.Exists("c")= true then
Response.Write("键存在。")
else
Response.Write("键不存在。")
end if
set d=nothing
%>
</body>
</html>
返回一个所有项目的数组
本例演示如何使用 Items 方法来返回所有项目的一个数组。
<html>
<body>
<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("<p>项目的值是:</p>")
a=d.Items
for i = 0 To d.Count -1
s = s & a(i) & "<br />"
next
Response.Write(s)
set d=nothing
%>
</body>
</html>
返回一个所有键的数组
本例演示如何使用 Keys 方法来返回所有键的一个数组。
<html>
<body>
<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("<p>键的值是:</p>")
a=d.Keys
for i = 0 To d.Count -1
s = s & a(i) & "<br />"
next
Response.Write(s)
set d=nothing
%>
</body>
</html>
返回某个项目的值
本例演示如何使用 Item 属性来返回一个项目的值。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("项目 i 的值是:" & d.item("i"))
set d=nothing
%>
</body>
</html>
设置一个键
本例演示如何使用 Key 属性来在 Dictionary 对象中设置一个键。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
d.Key("i") = "it"
Response.Write("键 i 已设置为 it,其值是:" & d.Item("it"))
set d=nothing
%>
</body>
</html>
返回键/项目对的数目
本例演示如何使用 Count 属性来返回键/项目对的数目。
<html>
<body>
<%
dim d, a, s, i
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("key/item 对的数目是:" & d.Count)
set d=nothing
%>
</body>
</html>
Dictionary 对象
Dictionary 对象用于在结对的名称/值中存储信息((等同于键和项目)。Dictionary 对象看似比数组更为简单,然而,Dictionary 对象却是更令人满意的处理关联数据的解决方案。
比较 Dictionary 和数组:
- 键用于识别 Dictionary 对象中的项目
- 无需调用 ReDim 来改变 Dictionary 对象的尺寸
- 当从 Dictionary 删除一个项目时,其余的项目会自动上移
- Dictionary 不是多维,而数组是
- Dictionary 与数组相比,有更多的内建对象
- Dictionary 在频繁地访问随机元素时,比数组工作得更好
- Dictionary 在根据它们的内容定位项目时,比数组工作得更好
下面的例子创建了一个 Dictionary 对象,并向对象添加了一些键/项目对,然后取回了键 bl 的值:
- <%
- Dim d
- Set d=Server.CreateObject("Scripting.Dictionary")
- d.Add "re","Red"
- d.Add "gr","Green"
- d.Add "bl","Blue"
- d.Add "pi","Pink"
- Response.Write("The value of key bl is: " & d.Item("bl"))
- %>
输出:
- The value of key bl is: Blue
Dictionary 对象的属性和方法描述如下:
属性
属性 | 描述 |
---|---|
CompareMode | 设置或返回用于在 Dictionary 对象中比较键的比较模式。 |
Count | 返回 Dictionary 对象中键/项目对的数目。 |
Item | 设置或返回 Dictionary 对象中一个项目的值。 |
Key | 为 Dictionary 对象中已有的键值设置新的键值。 |
方法
方法 | 描述 |
---|---|
Add | 向 Dictionary 对象添加新的键/项目对。 |
Exists | 返回一个逻辑值,这个值可指示指定的键是否存在于 Dictionary 对象中。 |
Items | 返回 Dictionary 对象中所有项目的一个数组。 |
Keys | 返回 Dictionary 对象中所有键的一个数组。 |
Remove | 从 Dictionary 对象中删除指定的键/项目对。 |
RemoveAll | 删除 Dictionary 对象中所有的键/项目对。 |