Je fais une application console et j'ai un "Menu" où l'utilisateur peut entrer des informations pour créer un nouvel objet Personne. Ce qui suit est à l'intérieur d'une méthode.
Write("Please enter the first name: ", false);
string fName = Console.ReadLine().ToUpper();
Write("Please enter the middle initial: ", false);
string mInitial = Console.ReadLine().ToUpper();
Write("Please enter the last name: ", false);
string lName = Console.ReadLine().ToUpper();
ainsi. Je veux que l'utilisateur puisse quitter la méthode à tout moment s'il décide qu'il ne veut pas faire une nouvelle personne. Je voudrais donc faire une nouvelle méthode appelée "CheckExit" et s'ils tapent "EXIT", il quittera la méthode "CreatePerson". Je veux donc que le "CheckExit" renvoie un retour. Sinon, je dois ajouter une instruction "if" après chaque entrée et cela devient encombrant-y.
Est-ce possible? Le retour a-t-il un type de retour? Quelle serait la bonne façon de procéder?
c#
console
return
return-type
Arkyris
la source
la source
throw exception
dans la méthode etreturn
dans le correspondantcatch
Réponses:
return
n'est pas un type que vous pouvez renvoyer, c'est un mot-clé pour renvoyer un résultat. Malheureusement, ce que vous essayez de faire n'est pas possible. Cependant, vous pouvez rendre votre code beaucoup plus lisible et extensible en utilisant un tableau de requêtes et en obtenant les résultats pour chacun à l'intérieur d'une boucle. Cela a pour effet supplémentaire de pouvoir ajouter facilement plus de requêtes.la source
Vous pouvez créer une méthode pour lire à partir de la console pour automatiser ce processus, quelque chose comme
Votre code ressemblerait alors à:
la source
throw new Exception()
et en l'attrapant. Il y a aussi une OperationCanceledException dans le framework dont le nom correspond peut-être à ce que vous essayez de faire et pourrait avoir un sens à utiliser. En règle générale, nous lançons différents types d'exception afin de pouvoir différencier les interceptions de certains et pas d'autres, mais en substance, le seul moyen pour une sous-méthode de renvoyer une méthode externe consiste à renvoyer la sous-méthode, l'extérieur à ne pas intercepter puis à contrôler les retours. à la méthode au-dessus de l'extérieur / un "retour retour"Les instructions de retour sont utilisées pour renvoyer une valeur à partir d'une méthode qui a un type de retour. Lorsque vous écrivez une méthode avec void comme type de retour, vous pouvez utiliser la
return;
pour quitter la méthode.par exemple, la méthode suivante utilise une chaîne comme type de retour,
Si vous écrivez une méthode qui crée l'objet et le renvoie à la méthode appelante, le type de retour serait la personne (sauf si vous avez l'intention de faire autre chose). Si vous vérifiez l'entrée utilisateur et décidez de ne pas créer de personne, vous pouvez utiliser
return null;
.Et vous pouvez utiliser cette méthode dans le Main,
la source
CreatePerson
tout de suite.La seule façon est d'utiliser
return
si vous souhaitez terminer la méthode. Mais vous pouvez raccourcir votre code quelque chose comme ça:la source