39 votes

Comment cloner un dictionnaire en .net ?

Je sais que nous devrions plutôt utiliser des dictionnaires plutôt que des hachages. Je ne peux pas trouver un moyen de cloner le dictionnaire si. Même si le casting à ICollection que je fais pour obtenir le SyncRoot, que je sais est également mal vu. Je suis occupé à changer cela maintenant. Je suis dans l'hypothèse correcte qu'il n'y a aucun moyen de mettre en œuvre une sorte de clonage d'une manière générique qui est pourquoi clone n'est pas pris en charge pour le dictionnaire?

59voto

Filip Ekberg Points 22189

Utilisez le constructeur qui prend un dictionnaire. Voir cet exemple

Et juste pour le plaisir. Vous pouvez utiliser LINQ! Ce qui est un peu plus générique approche.

Modifier

Cela devrait bien fonctionner avec les types de référence, j'ai essayé ce qui suit:

Et le code modifié d'en haut

Qui produit "Filip Ekberg".

2voto

Bobby Points 6894

Il s'agit d'une méthode de clone rapide et sale que j'ai écrit une fois ... l'idée initiale est de CodeProject, je pense.

Utilisation:

1voto

btlog Points 2887

Il s'agit d'une page de projet de code sur faire un clone profond d'un dictionnaire. http://www.codeproject.com/KB/recipes/DeepCloneDictionary.aspx?display=Print

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X