asp dictionary对象使用介绍
作者:亮亮 来源:亮亮博客 发布时间:2008-05-30 13:51:00
标签:dictionary,对象,数组
dictionary对象和数组有点相似,但无需用redim来改变dictionary的大小,dictionary也没有多维,dictionary比数组优秀的地方是比数组内建的方法多,操作比数组灵活些,在定位上和频繁访问上比数组效率高
首先建立dictionary对象
set dic=Server.CreateObject("Scripting.Dictionary")
下面是一些基本的用法示例
1.向 dictionary 对象添加新的键/值对
dic.Add "a","这是a"
dic.Add "aa","这是aa"
dic.item("a3")="增加a3"
2.返回dictionary 中某个键的值
response.Write(dic.item("aa")&"<br>")
response.Write(dic.item("a3")&"<br>")
3.为已有的键(key)设置新值
dic.item("aa")="aa的值变了"
response.Write(dic.item("aa")&"<br>")
4.返回在dictionary对象中键/值对的数目
response.Write(dic.count&"<br>")
5.返回在dictionary对象中是否存在指定的键(key)
response.Write(dic.Exists("a")&"<br>")
6.items返回dictionary对象中的所有值的一个数组
itemArr=dic.items
for i=0 to dic.Count-1
Response.Write(itemArr(i)&"<br>")
next
7.keys方法返回dictionary对象中所有key的数组。
keyArr=dic.Keys
for i=0 to dic.Count-1
Response.Write(keyArr(i)&"<br>")
next
8.设置键的比较模式
0 = vbBinaryCompare - 二进制比较
1 = vbTextCompare - 文本比较
2 = vbDatabaseCompare - 数据库比较
本来dic.Exists("A")返回false,但加上比较模式后将返回true
set dic=Server.CreateObject("Scripting.Dictionary")
dic.CompareMode=1
dic.Add "a","这是a"
dic.Add "aa","这是aa"
dic.item("a3")="增加a3"
response.Write(dic.Exists("A")&"<br>")
上面将打印出true
这样写也会报错 dic.Add "A","这是A"
9.删除指定的键/值对
dic.remove("aa")
dic.Exists("aa")将返回false
response.Write(dic.Exists("aa")&"<br>")
10.删除所有的键/值对
dic.removeall
response.Write(dic.Exists("a3")&"<br>")
最后当然就是释放对象
set dic=nothing
上面就是dictionary的一些基本用法,下面看看它的几个应用实例,下面的例子都是网上搜集到的,具体的作者不详!
先看这一个,代码如下:
str="海尔电脑.T618,联想电脑.GD88,TCL电脑.T720i,长虹电视.6610,TCL电脑.3300,长虹电视.M55,海尔电脑.T68ie,长虹电视.7650,长虹电视.7210,海尔电脑.P802,海尔电脑.T312"
response.Write(str&"<br />")
dim dic:Set dic = server.CreateObject("Scripting.Dictionary")
strArr=split(str,",")
for each strAtt in strArr
str2Att=split(strAtt,".")
if dic.Exists(str2Att(0)) then
dic.Item(str2Att(0))=dic.Item(str2Att(0)) & "," & str2Att(1)
else
dic.Add str2Att(0),str2Att(1)
end if
next
for each strKey in dic.Keys
response.write "["&strKey&"]"&dic.Item(strKey)&"<br>"
next
另外一个是利用dictionary创建二维数组的例子,这样做的优点是数组下标可以是字符串并且长度不是固定的
Set a1 = CreateObject("scripting.dictionary")
For i=1 To 9
Set a2 = CreateObject("scripting.dictionary")
For j=1 To 12
a2.add CStr("aaa"&j),CStr("b"&i&"b"&j*10)
Next
a1.add ("bbb"&i),a2
Set a2=Nothing
Next
For i=1 To 9
For j=1 To 12
acs=a1("bbb"&i)("aaa"&j)
response.write acs&" "
Next
response.write "<Br>"
Next
response.end
Set a1=Nothing


猜你喜欢
- 实例源码:#pip3 install opencv-pythonimport cv2from datetime import datetim
- 通过将身份认证令牌直接传给 API 服务器,可以避免使用 kubectl 代理,像这样:使用 grep/cut 方式:# 查看所有的集群,因
- 我为什么做这项工作?其实这项工作是另一位同事在做,过程中发下了一些问题,但是种种原因log和数据都没有收集到,无法进行分析。然后我就接手了,
- 1.tqdm模块是python进度条库, 主要分为两种运行模式1.1基于迭代对象运行: tqdm(iterator)import timef
- 概念简介:朴素贝叶斯基于贝叶斯定理,它假设输入随机变量的特征值是条件独立的,故称之为“朴素”。简单介绍贝叶斯定理:乍看起来似乎是
- 问:把数据从MySQL迁移到Oracle需要注意些什么?答:以下是MySQL迁到Oracle需要掌握的注意事项,希望对你有所帮助。1.自动增
- 官网上关于组件继承分为两大类,全局组件和局部组件。无论哪种方式,最核心的是创建组件,然后根据场景不同注册组件。有一点要牢记,“Vue.js
- 概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 高
- 1.安装登陆确认mysql已经开启2.建库3.建表Create 数据库表右击选择Create Table,填写Table Name,Comm
- 什么是 channel 管道它是一个数据管道,可以往里面写数据,从里面读数据。channel 是 goroutine 之间数据通信桥梁,而且
- 在写 Node.js 应用程序的时候,你确实可以把所有代码放在巨大原 index.js 文件中,不在乎你的应用程序会变得多大多复杂。Node
- SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好。本文将从SQ
- 项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master这个de
- 前言搞了一台云服务器,首先要干的活就是得安装数据库,在Windows下安装不用说,傻瓜式操作,在Linux上安装少说要记录一下。我使用的是X
- OpenCV:图片缩放和图像金字塔对图像进行缩放的最简单方法当然是调用resize函数啦!resize函数可以将源图像精确地转化为指定尺寸的
- 问题jupyter notebook读入csv数据时出现错误“SyntaxError: (unicode error) ‘unicodees
- 一、IE透明度问题在IE的高度超过某一阀值时,会产生透明度不时失效的问题,这现象比较奇怪,(会有的时候全黑,有的时候全白)你有可能无法复现。
- useSSL=false和true的区别SSL(Secure Sockets Layer 安全套接字协议),在mysql进行连接的时候,如果
- 我想把存在数据库里的每天24小时来访者数另放到一个Excel文件中去,可以吗?可以,其实就是将数据库里面的内容生成一个Excel文件:toe
- 我们在使用Django过程中,数据库往往是离不开的,比较长常用的是MySQL数据库,但在使用过程中,对Python不同的版本对用的库也不一样