Dictionary是存儲數(shù)據(jù)鍵和項目對的對象,其主要屬性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
創(chuàng)建Dictionary對象
'定義并創(chuàng)建Dictionary對象,使用CreateObject創(chuàng)建并返回自動化對象的引用
Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
添加鍵值
Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
'向Dictionary對象中添加鍵值對
Dic.Add "Name", "Sirrah" 'Add方法第一個參數(shù)是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種常用的循環(huán)方法,具體代碼如下:
Dim Dic,Dics
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" '向Dictionary對象中添加鍵值對
Dic.Add "Age", 23
Dics = dic.Items 'Items返回一個包含所有Item值的數(shù)組
For i = 0 To dic.Count - 1 'Count返回Dictionary對象鍵數(shù)目
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 '循環(huán)遍歷Dictionary鍵,并輸出鍵值
MsgBox Dics.Item(Dic)
Next
補充一個實例
腳本文件:a.vbs,包含字典的添加、刪除、判斷鍵是否存在、修改鍵、修改值、遍歷、統(tǒng)計鍵值對個數(shù)
'建立字典
Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")
'添加鍵值對
Dict.Add "Key1", "Item1"
Dict.Add "Key2", "Item2"
Dict.Add "Key3", "Item3"
'字典中鍵值對數(shù)量
WScript.Echo "字典中現(xiàn)有鍵值對數(shù)量: " 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值的數(shù)組
For Counter = 0 To Dict.Count - 1 'Count返回Dictionary對象鍵數(shù)目
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 "字典中現(xiàn)有鍵值對數(shù)量: " Dict.Count
調(diào)用方法:通過雙擊a.bat調(diào)用,a.bat代碼如下:
cscript a.vbs
pause
運行結(jié)果截圖:
