Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
创建Dictionary对象
'定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用 Dim Dic Set Dic = CreateObject("Scripting.Dictionary")
添加键值
Dim Dic Set Dic = CreateObject("Scripting.Dictionary") '向Dictionary对象中添加键值对 Dic.Add "Name", "Sirrah" 'Add方法第一个参数是Key值,第二个是Item值 Dic.Add "Age", 23
删除键值
Dim Dic Set Dic = CreateObject("Scripting.Dictionary") Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对 Dic.Add "Age", 23 Dic.Item("Age") = 22 '修改键Age的值 MsgBox Dic.Item("Age") '输出22
判断键是否存在
Dim Dic Set Dic = CreateObject("Scripting.Dictionary") Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对 Dic.Add "Age", 23 MsgBox Dic.Exists("Age") '判断键是否存在
输出所有键值
输出Dictionary对象所有键值,这边将介绍2种常用的循环方法,具体代码如下:
Dim Dic,Dics Set Dic = CreateObject("Scripting.Dictionary") Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对 Dic.Add "Age", 23 Dics = dic.Items 'Items返回一个包含所有Item值的数组 For i = 0 To dic.Count - 1 'Count返回Dictionary对象键数目 str = str & Dics(i) & vbCrlf Next MsgBox(str) Dim Dic,Dics Set Dics = CreateObject("Scripting.Dictionary") Dics.Add "Name", "Sirrah" '向Dictionary对象中添加键值对 Dics.Add "Age", 23 For Each Dic In Dics '循环遍历Dictionary键,并输出键值 MsgBox Dics.Item(Dic) Next
补充一个实例
脚本文件:a.vbs,包含字典的添加、删除、判断键是否存在、修改键、修改值、遍历、统计键值对个数
'建立字典 Dim Dict : Set Dict = CreateObject("Scripting.Dictionary") '添加键值对 Dict.Add "Key1", "Item1" Dict.Add "Key2", "Item2" Dict.Add "Key3", "Item3" '字典中键值对数量 WScript.Echo "字典中现有键值对数量: " & Dict.Count '让一个脚本在屏幕上显示文本信息 WScript.Echo '检查指定键是否存在 If Dict.Exists("Key1") Then WScript.Echo "Key1 存在!" Else WScript.Echo "Key1 不存在!" End If If Dict.Exists("Keyn") Then WScript.Echo "Keyn 存在!" Else WScript.Echo "Keyn 不存在!" End If WScript.Echo '遍历字典 Sub TraverseDict Dim DictKeys, DictItems, Counter DictKeys = Dict.Keys DictItems = Dict.Items 'Items返回一个包含所有Item值的数组 For Counter = 0 To Dict.Count - 1 'Count返回Dictionary对象键数目 WScript.Echo _ "键: " & DictKeys(Counter) & _ '& 字符串连接运算符 "值: " & DictItems(Counter) Next End Sub TraverseDict WScript.Echo '在一个键值对中,修改键或修改值 Dict.Key("Key2") = "Keyx" Dict.Item("Key1") = "Itemx" TraverseDict WScript.Echo '删除指定键 Dict.Remove("Key3") TraverseDict WScript.Echo '删除全部键 Dict.RemoveAll WScript.Echo "字典中现有键值对数量: " & Dict.Count
调用方法:通过双击a.bat调用,a.bat代码如下:
cscript a.vbs
pause
运行结果截图:
标签:
VBS,Dictionary
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“VBS基础篇 - vbscript Dictionary对象”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月23日
2024年11月23日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]