patafisque
Messages postés2Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention22 octobre 2011
-
22 oct. 2011 à 15:48
patafisque
Messages postés2Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention22 octobre 2011
-
22 oct. 2011 à 23:40
Bonjour à tous,
Je débute en C# .NET. Désolé si la question a déjà été posée, mais là, je sèche depuis 24h... Et c'est pas faute de chercher.
Mon problème :
J'ai une classe vcard.
Je lis un fichier texte pour alimenter une liste de vcard.
Tout fonctionne, sauf que ma liste est alimentée par la dernière valeur lue uniquement.
Si j'ai 3 vcards dans le fichier texte, j'ai bien 3 lignes dans la liste vcard, mais toutes sont à la valeur de la dernière vcard lue.
Avant la boucle qui lit le fichier texte, j'ai déclaré une variable locale NewVcard de type vcard.
Il semble que la fonction ListeVcard.add(NewVcard) ajoute un pointeur et non les valeurs lues dans le fichier.
Suis-je assez clair ?
Et si oui, comment me sortir de ce problème ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 22 oct. 2011 à 16:17
Bonjour,
Oui, Quand tu ajoutes un objet à une collection, tu ajoutes une référence vers l'objet, pas la valeur de celui-ci.
Une structure par contre, tu ajoutes la valeur.
Il te faut créer une nouvelle instance à chaque carte.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site