Как я клонирую объект Словаря?

У меня есть a Dictionary объект в VBScript. Как я могу скопировать все объекты, содержавшиеся в нем к новому Dictionary, т.е. создайте клон/дубликат словаря?

9
задан stakx 4 November 2012 в 03:43
поделиться

1 ответ

Создайте новый объект 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

В большинстве случаев этого должно быть достаточно. Однако, если ваш исходный словарь содержит объекты, вам придется реализовать глубокое клонирование, то есть клонировать и эти объекты.

9
ответ дан 3 November 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: