C# : problème avec retour de valeur (return int) - C#/.NET managed - Programmation
Marsh Posté le 20-02-2008 à 08:51:38
Tu ne réaffectes pas la valeur de retour de tes méthodes à ta variable hh, par exemple :
Code :
|
Code :
|
Ou alors utilise un passage par référence.
Marsh Posté le 20-02-2008 à 12:15:33
Ok merci beaucoup, dans les nombreux exemples de return que j'ai pu lire, aucun d'eux n'utilisait la réafectation de valeur, de ce fait je ne connaissais pas cette méthode. J'ai bien essayer une ref, mais malheureusement ça n'as pas voulu fonctionner. J'approfondirais cette méthode un peu plus tard. Merci
Marsh Posté le 20-02-2008 à 21:15:18
Code :
|
Tu peux éventuellement utiliser la syntaxe des pointeurs aussi, mais ça t'oblige à écrire une zone "unsafe", ce qui n'est pas recommandé lorsqu'on peut s'en passer.
Marsh Posté le 20-02-2008 à 21:23:11
Exemple complet, avec ref et pointeur :
Code :
|
A noter que pour que "unsafe" fonctionne, il faut modifier les paramètres de compilation, car par défaut c'est interdit.
http://msdn2.microsoft.com/fr-fr/l [...] S.80).aspx
Marsh Posté le 20-02-2008 à 22:43:37
Merci beaucoup, tu es sympa, j'avais justement besoin d'un exemple concret de ref pour bien centrer le sujet.
Marsh Posté le 20-02-2008 à 04:59:59
Salut à tous, voilà j'ai un petit soucis avec ma fonction return.
A partir de ma méthode 1, qui contient la variable hh, j'appelle une méthode 2 avec hh, qui elle même appelle une méthode 3 avec le même hh. Cette dernière méthode modifie la valeur de hh et la retourne à la méthode 2 qui la retourne à la méthode 1. Or lors du test, la variable hh de la méthode 1 n'est pas modifiée.
Voici un extrait de mon code, qui contient les détails du résumé ci-dessus :
(La méthode 1 est une boucle for qui modifie en permanence la valeur de hh)
Méthode 1 : Main
Méthode 2 : Actions.dressage
Méthode 3 : Dressage.compétences
(la variable qui modifie hh est tps)
Quelqu'un peut-il m'expliquer pourquoi quand je choisis une option entre "se nourrir" "attaquer" ou "pister", la valeur de hh qui est censée être modifiée ne se repporte pas sur le résultat du hh affiché dans la méthode Main ?
Merci d'avance pour vos réponses.
Ps : Si vous avez besoin du code complet pour mieux cerné l'erreur, je vous le posterais volontier.
Message édité par Durst1805 le 20-02-2008 à 05:09:10