Tengo un objeto Dictionary
en VBScript. ¿Cómo puedo copiar todos los objetos que contiene en un nuevo Dictionary
, es decir, crear un clon/duplicado del diccionario?¿Cómo puedo clonar un objeto de diccionario?
Respuesta
Crear un nuevo objeto Dictionary
, iterar a través de las teclas en el diccionario original y agrega estas claves y los valores correspondientes al nuevo diccionario, como esto:
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
Esto debería ser suficiente en la mayoría de los casos. Sin embargo, si su diccionario original contiene objetos, deberá implementar la clonación profunda, es decir, clonar estos objetos también.
Eche un vistazo a la respuesta aceptada en VBScript: How to utiliize a dictionary object returned from a function?. Podría ser una solución si una referencia es todo lo que se está buscando.
Editar De acuerdo con el comentario de Ekkehard.Horner, ahora entiendo que esto es no clonación, pero puede ayudar a otros que están buscando solamente una referencia al objeto original.
Los diccionarios son objetos y pasan objetos a Subs/Funciones/Métodos (incluso con ByVal), asigna objetos a valores y devuelve objetos desde Funciones/Método (con suerte con Set) * siempre * tratará con referencias y nunca clonará/copiará/creará un nuevo objeto. Por lo tanto, borre su respuesta errónea/errónea. –
- 1. Cómo puedo clonar un objeto JAXB
- 2. AS3 - Clonar un objeto
- 3. ¿Cómo "clonar" un objeto en un objeto de subclase?
- 4. ¿Cómo clonar un objeto generador de Python?
- 5. ¿Cómo puedo clonar un objeto DateTime en C#?
- 6. ¿Cómo crear y clonar un objeto JSON?
- 7. Cómo clonar un objeto Date en JavaScript
- 8. cómo clonar un objeto en Android?
- 9. ¿Cómo se puede clonar un objeto WPF?
- 10. Cómo clonar un objeto en Flex?
- 11. ¿Qué significa clonar() un objeto?
- 12. Cómo clonar el objeto js?
- 13. ¿Cómo puedo clonar una vista?
- 14. entero Objeto Clonar Gráfico
- 15. ¿Usando Parcel para clonar un objeto?
- 16. Exactamente clonar un objeto en javascript
- 17. Cómo clonar un objeto Java con el método clone()
- 18. ¿Cómo puedo clonar un objeto de instancia modelo Django y guardarlo en la base de datos?
- 19. ¿Cómo puedo clonar/copiar una instancia de un objeto en CoffeeScript?
- 20. Cómo clonar un InputStream?
- 21. Cómo clonar un iterador?
- 22. ¿Cómo puedo clonar una subcarpeta de un repositorio en Mercurial?
- 23. ¿Cómo puedo convertir un ConcurrentDictionary en un diccionario?
- 24. Creación de un constante objeto de diccionario
- 25. ¿Diferencia entre un objeto y un diccionario?
- 26. Objeto vs. Diccionario: ¿cómo organizar un árbol de datos?
- 27. ¿Cómo puedo clonar una solución .NET?
- 28. ActiveRecord: ¿Cómo puedo clonar las asociaciones anidadas?
- 29. ¿Cómo puedo pedir un diccionario en C#?
- 30. Cómo puedo clonar entornos limpios para probar un instalador
Sí, eso es cierto ... pero ¿hay alguna función integrada para realizar clonación profunda –