如何克隆Dictionary对象?

Vin*_*ddy 9 vbscript dictionary clone

Dictionary在VBScript中有一个对象.如何将其中包含的所有对象复制到新的Dictionary,即创建字典的克隆/复制?

Hel*_*len 9

创建一个新Dictionary对象,遍历原始字典中的键,并将这些键和相应的值添加到新字典中,如下所示:

Function CloneDictionary(Dict)
  Dim newDict
  Set newDict = CreateObject("Scripting.Dictionary")

  For Each key in Dict.Keys
    newDict.Add key, Dict(key)
  Next
  newDict.CompareMode = Dict.CompareMode

  Set CloneDictionary = newDict
End Function
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,这应该足够了.但是,如果原始字典包含对象,则必须实现深度克隆,即克隆这些对象.