cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
17 nov. 2006 à 09:56
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
17 nov. 2006 à 15:04
bonjour j'utilise une strucutre pour une personne (disons avec le nom,etc... et un champs que je veux augmenter )
je fais donc struct personne
{
public string nom;
public int nb;
}
je cree une personne
je le met ds une hashtable pour pouvoir la tretrouver
je parcours un tableau contenant des infos sur differentes personnes
quand je tombe sur la bonne j'essaie d'augmenter nb
((personne)hastable[nom]).nb+=x;
mais ca veut pas....
j'ai un message d'erreur qui me dit que je ne peux pas le faire....
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 20122 17 nov. 2006 à 12:05
en fait kan je parcours la bboucle je ne suis pas toujours sur la meme personne, des personnes differentes "arrivent" etje me sers donc de la hashtable pour trouver directement sa place au lieu d eparcourir la arraylist
(c pas bon??)
pourquoi ca ne merche pas avec struct mais ca marcherait avec class? c koi la difference?
LUDINSKI
Messages postés441Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention22 mai 20128 17 nov. 2006 à 14:55
Re-salut,
Ben en fait, comme tu disais :
"je parcours un tableau contenant des infos sur differentes personnes
quand je tombe sur la bonne j'essaie d'augmenter nb"
J'me disais qu'un ArrayList serai plus approprié... enfin bref !
Par contre, tu ne peux pas modifier le champ de ta structure après l'avoir extraite de la HashTable; tout simplement parce que, lorsque tu écris "((personne)hastable[nom])",
Une nouvelle structure de type personne est recopiée et donc, tu ne modifieras pas la structure située dans ton tableau, mais une copie (d'où l'erreur de compilation) !
Pour plus d'info concernant les structures, peut aller voir ici