Je suis surpris de savoir à quel point cela a été difficile à faire, mais j'imagine que c'est une solution rapide, donc je vais demander ici (google et documentation recherchée, mais ni aidé). J'ai du code qui ajoute des éléments à une collection à l'aide de clés. Lorsque je rencontre une clé qui existe déjà dans la collection, je veux simplement la définir en ajoutant un numéro à la valeur actuelle.
Voici le code: p> La première fois que j'ajoute la paire de la clé / de la valeur dans la collection, j'ajoute un entier comme valeur. Lorsque je rencontre à nouveau la clé, j'essaie d'ajouter un autre entier à la valeur, mais cela ne fonctionne pas. Je ne pense pas que le problème réside dans une sorte d'objet mal match ou quelque chose de similaire. Le message d'erreur que je reçois actuellement est p> Erreur d'exécution 424: Objet requis P>
blockQuote> p>
3 Réponses :
Je pense que vous devez supprimer la paire de clés existante, puis ajouter la clé à la collection à nouveau mais avec la nouvelle valeur p>
Patrick Matthews a écrit un excellent article sur dictionnaires v collections p> dictionnaires code> est plus polyvalent et plus efficace que collections code>. Si vous êtes allé cet itinéraire, vous pouvez exécuter un test simple code> sur le dictionnaire directement ci-dessous, puis mettez à jour la valeur de la clé
Dictionnaire est meilleur que la collecte pour tout sauf une chose: Dictionnaire ne préserve pas la commande. Dans la plupart de mes applications, l'ordre est i> important; J'ai été vissé une fois ou deux fois par dictionnaire à cause de cela!
Vous ne pouvez pas modifier les valeurs une fois qu'ils ont été ajoutés à une collection. Donc, cela n'est pas possible: à la place, vous pouvez sortir l'objet de la collection, éditer sa valeur et le ajouter. P> temp = aColl.Item(aKey)
aColl.Remove aKey
aColl.Add temp + someValue, aKey
Cette réponse à une question antérieure et connexe devrait également répondre à votre question: Stackoverflow.com/questions/5709444/Modify-value-by-key/... . La version courte est que les collections ne fonctionnent pas comme des tableaux; Vous ne pouvez pas réaffecter un "élément". Les réponses d'autres personnes ont déjà donné sont bonnes façons d'obtenir ce que vous voulez.