Exactement ce que fait l'instruction return n'en C#?
C'est difficile pour moi de saisir ce qu'est exactement une instruction return est en train de faire. Par exemple, dans cette méthode...
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
Même si je place tout entier aléatoire compris après le retour, le GivePoints méthode ne fonctionne toujours exactement la même chose. Alors qu'est-ce que l'instruction return est en train de faire?
Je ne suis pas sûr de la façon de répondre à cette question, sauf à dire qu'il retourne une valeur à l'appelant de la méthode.
OriginalL'auteur Mikey D | 2013-03-06
Vous devez vous connecter pour publier un commentaire.
Retour d'une sortie de la fonction lors de l'appel. Tout ce qui est au-dessous de l'instruction de retour ne sera donc pas être exécuté.
Fondamentalement,
return
indique que, quelle que soit l'opération de la fonction est supposée préforme a été préformé, et transmet le résultat de cette opération à l'arrière (le cas échéant) de l'appelant.OriginalL'auteur chris-mv
return
sera de retour le contrôle de la méthode actuelle de l'appelant, et aussi passer tout ce argument est envoyé avec elle. Dans votre exemple,GivePoints
est défini pour renvoyer un nombre entier, et à accepter un entier en argument. Dans votre exemple, la valeur renvoyée est en fait la même que la valeur de l'argument.Une valeur retournée est utilisé à partir de quelque part d'autre dans votre code qui appelle la méthode définie,
GivePoints
dans cet exemple.signifierait que
currentPoints
est affectée la valeur de 1.Ce que cela se casse, c'est que
GivePoints
est évaluée. L'évaluation deGivePoints
est fondée sur ce que le retour de la méthode.GivePoints
renvoie l'entrée, donc,GivePoints
permettra d'évaluer à 1 dans l'exemple ci-dessus.Stack
concept: que les méthodes sont invoquées lors d'une pile et unreturn
déclaration sorties de la méthode actuelle, le retour de contrôle de flux (et généralement, une valeur) retour à la méthode précédente sur la pile.Aussi, pas de code qui s'affiche après l'instruction return est exécutée sera évalué. C'est pourquoi votre "random integer" la valeur est ignorée.
OriginalL'auteur Travis J
Return
toujours exit (quitter) pour la fonction, de quoi que ce soit après le retour ne pourra pas s'exécuter.Retour exemple:
Renvoyer une variable exemple:
Renvoyer une variable exemple et attraper la variable qui a retourné:
OriginalL'auteur Morris S
En vous exemple, la fonction retourne le nombre exact vous envoyez. Dans ce cas, quelle que soit la valeur que vous passez
amount
. Par conséquent, le retour dans votre code actuel est un peu inutile.Donc dans votre exemple:
x sera égal à 1000
OriginalL'auteur Inisheer
juste une supposition de votre objectif initial
donc de retour sera de retour la valeur mise à jour de Points de
si ce n'est pas votre cas, le code doit être
OriginalL'auteur