ASP Dictionary 对象

Dictionary 对象用于在结对的名称/值中存储信息(等同于键和项目)。

实例

指定的键存在吗?

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

  1. <html>
  2. <body>
  3. <%
  4. dim d
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. if d.Exists("c")= true then
  9. Response.Write("键存在。")
  10. else
  11. Response.Write("键不存在。")
  12. end if
  13. set d=nothing
  14. %>
  15. </body>
  16. </html>

返回一个所有项目的数组

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

  1. <html>
  2. <body>
  3. <%
  4. dim d,a,i,s
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. Response.Write("<p>项目的值是:</p>")
  9. a=d.Items
  10. for i = 0 To d.Count -1
  11. s = s & a(i) & "<br />"
  12. next
  13. Response.Write(s)
  14. set d=nothing
  15. %>
  16. </body>
  17. </html>

返回一个所有键的数组

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

  1. <html>
  2. <body>
  3. <%
  4. dim d,a,i,s
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. Response.Write("<p>键的值是:</p>")
  9. a=d.Keys
  10. for i = 0 To d.Count -1
  11. s = s & a(i) & "<br />"
  12. next
  13. Response.Write(s)
  14. set d=nothing
  15. %>
  16. </body>
  17. </html>

返回某个项目的值

本例演示如何使用 Item 属性来返回一个项目的值。

  1. <html>
  2. <body>
  3. <%
  4. dim d
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. Response.Write("项目 i 的值是:" & d.item("i"))
  9. set d=nothing
  10. %>
  11. </body>
  12. </html>

设置一个键

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

  1. <html>
  2. <body>
  3. <%
  4. dim d
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. d.Key("i") = "it"
  9. Response.Write("键 i 已设置为 it,其值是:" & d.Item("it"))
  10. set d=nothing
  11. %>
  12. </body>
  13. </html>

返回键/项目对的数目

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

  1. <html>
  2. <body>
  3. <%
  4. dim d, a, s, i
  5. set d=Server.CreateObject("Scripting.Dictionary")
  6. d.Add "c", "China"
  7. d.Add "i", "Italy"
  8. Response.Write("key/item 对的数目是:" & d.Count)
  9. set d=nothing
  10. %>
  11. </body>
  12. </html>

Dictionary 对象

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

比较 Dictionary 和数组:

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

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

  1. <%
  2. Dim d
  3. Set d=Server.CreateObject("Scripting.Dictionary")
  4. d.Add "re","Red"
  5. d.Add "gr","Green"
  6. d.Add "bl","Blue"
  7. d.Add "pi","Pink"
  8. Response.Write("The value of key bl is: " & d.Item("bl"))
  9. %>

输出:

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