int VillainId = -1;
Console.Write("Enter VillainId: ");
while (!int.TryParse(Console.ReadLine(), out VillainId))
{
Console.WriteLine("You need to enter a valid Villain Id!");
Console.Write("Enter VillainId: ");
}
Quelqu'un peut-il me dire comment fonctionne le code à l'intérieur du while(**this code here**){//rest of the code}
? Je comprends si c'était dans le {} mais c'est dans la condition et son bouclage jusqu'à ce qu'il réussisse à analyser un nombre. Comment ça marche ?Exécution de code dans l'instruction d'expression while
'int.TryParse' renvoie true si elle analyse avec succès la chaîne, il devient de Console.ReadLine(). Le '!' Devant signifie inverser le booléen, donc 'while' exécute le code dans les parenthèses, et si int.TryParse renvoie false, le' while' s'exécute à nouveau - et encore et encore, jusqu'à 'int.TryParse' renvoie true. –
donc si je comprends bien si c'est faux, il fait le travail dans le {} alors vérifiez à nouveau et par là vous voulez dire qu'il exécute l'ensemble try.parse à nouveau et si réussi outs l'int et renvoie vrai? –
C'est vrai, chaque fois que ça recommence, ça appelle 'Console.ReadLine()' encore une fois pour une nouvelle entrée, passe ça 'int.TryParse()' qui essaye d'analyser la nouvelle valeur, etc., jusqu'à l'analyse est réussi et il sort de la boucle. Une [boucle do/while] (https://msdn.microsoft.com/en-us/library/370s1zax.aspx?f=255&MSPPError=-2147217396) est une autre façon d'écrire ce code, et pourrait être plus facile d'obtenir votre la tête autour. –