ASP Dictionary 对象


Dictionary 对象用于在名称/值对中存储信息。

Dictionary 对象

Dictionary 对象用于在名称/值对(等同于键和项目)中存储信息。Dictionary 对象看似比数组更为简单,然而,Dictionary 对象却是更令人满意的处理关联数据的解决方案。

比较 Dictionaries 和数组:

  • 键用于识别 Dictionary 对象中的项目
  • 您无需调用 ReDim 来改变 Dictionary 对象的尺寸
  • 当从 Dictionary 中删除一个项目时,其余的项目会自动上移
  • Dictionary 不是多维,而数组是多维
  • Dictionary 比数组带有更多的内建函数
  • Dictionary 在频繁地访问随机元素时,比数组工作得更好
  • Dictionary 在根据它们的内容定位项目时,比数组工作得更好

下面的实例创建了一个 Dictionary 对象,并向对象添加了一些键/项目对,然后取回了键 gr 的项目值:

<%
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 gr is: " & d.Item("gr"))
%>

输出:

The value of key gr is: Green

Dictionary 对象的属性和方法描述如下:

属性

属性描述
CompareMode设置或返回用于在 Dictionary 对象中比较键的比较模式。
Count返回 Dictionary 对象中键/项目对的数目。
Item设置或返回 Dictionary 对象中一个项目的值。
Key为 Dictionary 对象中已有的键值设置新的键值。

方法

方法描述
Add向 Dictionary 对象添加新的键/项目对。
Exists返回一个布尔值,这个值指示指定的键是否存在于 Dictionary 对象中。
Items返回 Dictionary 对象中所有项目的一个数组。
Keys返回 Dictionary 对象中所有键的一个数组。
Remove从 Dictionary 对象中删除指定的键/项目对。
RemoveAll删除 Dictionary 对象中所有的键/项目对。

在线实例

指定的键存在吗?
本例演示如何创建一个 Dictionary 对象,然后使用 Exists 方法来检查指定的键是否存在。

<!DOCTYPE html>
<html>
<body>

<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"
if d.Exists("n")= true then
    Response.Write("Key exists.")
else
    Response.Write("Key does not exist.")
end if
set d=nothing
%>

</body>
</html>

返回一个所有项目的数组
本例演示如何使用 Items 方法来返回一个所有项目的数组。

<!DOCTYPE html>
<html>
<body>

<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"

Response.Write("<p>The values of the items are:</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 方法来返回一个所有键的数组。

<!DOCTYPE html>
<html>
<body>

<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"
Response.Write("<p>The value of the keys are:</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 属性来返回一个项目的值。

<!DOCTYPE html>
<html>
<body>

<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"
Response.Write("The value of the item n is: " & d.item("n"))
set d=nothing
%>

</body>
</html>

设置一个键
本例演示如何使用 Key 属性来在 Dictionary 对象中设置一个键。

<!DOCTYPE html>
<html>
<body>

<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"
d.Key("i") = "it"
Response.Write("The key i has been set to it, and the value is: " & d.Item("it"))
set d=nothing
%>

</body>
</html>

返回键/项目对的数量
本例演示如何使用 Count 属性来返回键/项目对的数量。

<!DOCTYPE html>
<html>
<body>

<%
dim d, a, s, i
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "n", "Norway"
d.Add "i", "Italy"
Response.Write("The number of key/item pairs is: " & d.Count)
set d=nothing
%>

</body>
</html>