Hashtable Impossible de modifier

fredspv Messages postés 127 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 6 juin 2008 - 10 févr. 2006 à 15:04
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 - 10 févr. 2006 à 17:28
Bonjour,

J'utilise Hashtable pour contenir des données, la valeur de chaque clé peut etre modifiée hors une fois que j'ai modifié la valeur je ne peux plus la changer j'ai une erreur: La collection a été modifiée, l'execution d'enumerration ne peut s'executer.

Merci de votre aide.

fred

4 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 févr. 2006 à 15:10
Salut,

Si tu modifies les données dans une boucle foreach, c'est normal, on ne doit pas modifier la collection dans la boucle.

/*
coq
MVP Visual C#
*/
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
10 févr. 2006 à 15:29
Voilà ce que dit la doc de l'interface IEnumerable ( utilisée par foreach ) :


"Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si la collection est modifiée en ajoutant, modifiant ou supprimant des éléments, l'énumérateur devient irrévocablement non valide et son comportement n'est pas défini."
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
10 févr. 2006 à 16:06
Si tu veux modifier ta hashtable tu peux la cloner puis effectuer la boucle foreach sur la table d'origine en modifiant la table clonée.
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
10 févr. 2006 à 17:28
Une boucle for est bien plus simple que des clones.

::|The S@ib|::
MVP C#.NET
0
Rejoignez-nous