Je suis en train de paralléliser un code dorsal et d'essayer de ne pas casser les interfaces. Nous avons plusieurs méthodes qui retournent Dictionary et en interne, j'utilise ConcurrentDictionary pour effectuer des opérations parallèles sur.Obtention du dictionnaire <K,V> à partir de ConcurrentDictionary <K,V> dans .NET 4.0
Quelle est la meilleure façon de renvoyer le dictionnaire à partir de ceux-ci?
Cela se sent presque trop simple:
return myConcurrentDictionary.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
Je me sens comme si je manque quelque chose.
Oh, je ne le savais pas. Bonne info! – Squirrelsama
Cela fonctionnera-t-il si des éléments sont ajoutés ou supprimés du dictionnaire pendant la construction du nouveau dictionnaire? – supercat
@supercact: Oui, ça va. * "L'énumérateur renvoyé par le dictionnaire est sûr à utiliser simultanément avec les lectures et les écritures dans le dictionnaire, mais il ne représente pas un instantané instantané du dictionnaire.Le contenu exposé par l'intermédiaire de l'énumérateur peut contenir des modifications apportées au dictionnaire après que 'GetEnumerator' ait été appelé." * http://msdn.microsoft.com/en-us/library/dd287131.aspx – LukeH