5
在Java中與Set<String, Set<String>>
類似嗎?VBS的QTP版本中是否有詞典的字典?
在Java中與Set<String, Set<String>>
類似嗎?VBS的QTP版本中是否有詞典的字典?
一個Set是一個獨特元素的無序集合。許多Set實現都基於哈希表(可能是鍵值對)。 VBScript中有一個字典類 -
Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
您不能添加相同的鍵兩次,所以一個VBScript詞典的按鍵,分別代表/模型集(但設置是有序的(通過插入),)。沒有什麼能夠阻止你把(其他)字典入值:
>> Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
>> dicParent.Add "Fst", CreateObject("Scripting.Dictionary")
>> dicParent("Fst").Add "Snd", "child of parent"
>> WScript.Echo dicParent("Fst")("Snd")
>>
child of parent
在VBScript(和理論),你甚至可以用對象作爲鍵(不只是字符串作爲其他語言):
>> Dim dicParent : Set dicParent = CreateObject("Scripting.Dictionary")
>> Dim dicChild : Set dicChild = CreateObject("Scripting.Dictionary")
>> dicParent(dicChild) = "child of parent"
>> WScript.Echo dicParent(dicChild)
>>
child of parent
您的實際里程可能會有所不同。
關於使用對象作爲鍵的好評。 Allthough,我不得不考慮一個實際的用途。也許一個窮人的鏈表,堆棧或隊列。 – AutomatedChaos
哦,我用它來實現類似API緩存的東西 - 最大限度地減少對DataTable對象的引用,將對象屬性(或引用)存儲在字典中。工作正常,可以確實有用。 – TheBlastOne