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 对象中所有的键/项目对。