¿Cómo puedo copiar objeto Dictionary por el valor en C#Copiar Diccionario de valor
Respuesta
Crear un nuevo Dictionary
pasar el diccionario fuente en el constructor (por supuesto, esto no va a copiar los objetos en el diccionario si son tipos de referencia):
var copied = new Dictionary<KeyType, ValueType>(originalDictionary);
No hay un método intrínseco para hacerlo. Tendrás que hacerlo manualmente.
El primer paso es decidir qué tan profundo quiere que se copie la copia. ¿Desea que el objeto de entrada del diccionario por separado tenga referencias a los valores de las claves comunes &, o quiere que todo se copie? En este último caso, deberían implementar ICloneable para crear un método de propósito general.
¡Advertencia! El hecho de que una clase implemente 'ICloneable' no significa que' Clone' realice una copia profunda. – jason
Using System.Linq;
Dictionary<int, string> dict2 = dict1.ToDictionary(k => k.Key, k => k.Value.ToString());
Esto creará una copia idéntica de un diccionario por valor (no REF), para que pueda operar en un sin cambiar la otra.
Las contribuciones siempre son bienvenidas, pero las respuestas nuevas deberían agregar algo * significativo * sobre las respuestas anteriores. Dado que esta pregunta ya fue respondida hace varios años, debería pensar si vale la pena resucitar solo para publicar el código generado por un traductor de código en línea ;-) – Leigh
Mi respuesta original fue mi propio trabajo, sin embargo, fue escrito en formato visual BASIC. Simplemente hice referencia al convertidor de código porque este es un asunto simple que cualquiera puede hacer. Me gusta: "Déjame googleear eso para ti". Ahora, sobre la importancia. Linq supera los bucles en casi todas las situaciones. Mi respuesta es superior a la respuesta original. Me encontré con esta publicación años después de que se escribió, y la respuesta original no es satisfactoria para la profesionalidad que espera mi empresa. Publiqué la respuesta para que pueda ayudar a alguien en el futuro. Por lo tanto, no tienen que hacer algo de manera deficiente – Aaron
No estoy tratando de hacerle pasar un mal rato, pero francamente al hacer referencia a un convertidor de código, parece que no está familiarizado con el idioma y está publicando algo sin probar. Ese puede no ser el caso en absoluto, pero esa era la percepción. Re: * Linq supera bucles en casi todas las situaciones. * ¿Qué respuesta recomienda bucle? Re: * Mi respuesta es superior a la respuesta original * Si es una respuesta mejor, no dude en actualizar su respuesta para indicar por qué. – Leigh
- 1. Valor del diccionario C#
- 2. C# copiar matriz por valor
- 3. Ordenar un diccionario por valor
- 4. YAML: diccionario con valor vacío
- 5. Obtener la clave del diccionario utilizando el valor del diccionario
- 6. obtener la clave de diccionario por valor
- 7. comprobando el valor booleano de Diccionario.
- 8. C# Iterar sobre Diccionario ordenado por valor
- 9. Delphi Generics> Diccionario con valor predeterminado
- 10. Diccionario con el delegado como valor
- 11. Cómo filtrar un diccionario por valor?
- 12. Ordenar un diccionario por clave Y valor?
- 13. obtener el valor por el diccionario clave
- 14. POSTAL Diccionario JSON sin clave/valor Texto
- 15. ¿Cómo agregar pares clave, valor al diccionario?
- 16. Modificar el valor del diccionario C#
- 17. ¿Cómo obtener el valor MAX del diccionario?
- 18. C# - Modificar el valor del diccionario par clave-valor, mientras que en foreach
- 19. Diccionario con cerradura o Diccionario de Concurency?
- 20. Cómo copiar el valor de celda DataGrid al portapapeles
- 21. TFS "Copiar" el valor de un campo a otro
- 22. Python: realice una operación en cada valor de diccionario
- 23. Agregando pares de clave/valor a un diccionario
- 24. ¿Velocidad de búsqueda del valor del diccionario .NET por clave?
- 25. LINQ - Convertir Lista de diccionario con Valor como lista
- 26. obtienen claves corresponden a un valor en el diccionario de
- 27. Cómo ordenar un diccionario de Python por valor
- 28. En el diccionario, convirtiendo el valor de cadena a entero
- 29. ¿Cómo ordenar un diccionario de Python por valor?
- 30. Cómo buscar/verificar un valor de diccionario por clave
¿Quiere decir una copia profunda (es decir, hacer copias de todos los objetos del diccionario también)? – Paolo