首页 > 编程 > VBScript > 正文

VBS基础篇 - vbscript Dictionary对象

2020-07-26 11:44:40
字体:
来源:转载
供稿:网友

Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
创建Dictionary对象 

'定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用Dim DicSet Dic = CreateObject("Scripting.Dictionary")

添加键值 

Dim DicSet Dic = CreateObject("Scripting.Dictionary")'向Dictionary对象中添加键值对Dic.Add "Name", "Sirrah" 'Add方法第一个参数是Key值,第二个是Item值Dic.Add "Age", 23  

删除键值   

Dim DicSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对Dic.Add "Age", 23Dic.Item("Age") = 22 '修改键Age的值MsgBox Dic.Item("Age") '输出22 

判断键是否存在  

Dim DicSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对Dic.Add "Age", 23MsgBox Dic.Exists("Age") '判断键是否存在 

输出所有键值
输出Dictionary对象所有键值,这边将介绍2种常用的循环方法,具体代码如下:

Dim Dic,DicsSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对Dic.Add "Age", 23Dics = dic.Items 'Items返回一个包含所有Item值的数组For i = 0 To dic.Count - 1 'Count返回Dictionary对象键数目 str = str & Dics(i) & vbCrlfNextMsgBox(str)Dim Dic,DicsSet Dics = CreateObject("Scripting.Dictionary")Dics.Add "Name", "Sirrah" '向Dictionary对象中添加键值对Dics.Add "Age", 23For 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 IfIf Dict.Exists("Keyn") Then WScript.Echo "Keyn 存在!"Else WScript.Echo "Keyn 不存在!"End IfWScript.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) NextEnd SubTraverseDictWScript.Echo '在一个键值对中,修改键或修改值Dict.Key("Key2") = "Keyx"Dict.Item("Key1") = "Itemx"TraverseDictWScript.Echo '删除指定键Dict.Remove("Key3")TraverseDictWScript.Echo '删除全部键Dict.RemoveAllWScript.Echo "字典中现有键值对数量: " & Dict.Count

调用方法:通过双击a.bat调用,a.bat代码如下:

cscript a.vbs
pause

运行结果截图:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表