Comment garantir une entrée d'entier valide dans les applications de console
Dans votre quête pour valider l'entrée de la console sous forme d'entiers, vous avez rencontré un défi commun . Voici une explication raffinée :
Le code que vous avez fourni :
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace minimum { class Program { static void Main(string[] args) { int a = Convert.ToInt32(Console.ReadLine()); int b = Convert.ToInt32(Console.ReadLine()); int c = Convert.ToInt32(Console.ReadLine()); // ... // ... Rest of your code ... } } }
contient un piège potentiel lorsque vous tentez de convertir directement les entrées de l'utilisateur en nombres entiers. Cette approche peut conduire à des exceptions involontaires si l'entrée n'est pas un entier valide.
Pour éviter ces problèmes, il est recommandé d'effectuer une vérification pour s'assurer que l'entrée est bien un entier avant de tenter la conversion. Ceci peut être réalisé en utilisant la méthode int.TryParse() :
string line = Console.ReadLine(); int value; if (int.TryParse(line, out value)) { // Valid integer input // Carry out your minimum number check using the 'value' variable } else { // Invalid integer input // Display an error message or take appropriate action }
Dans ce code révisé, l'entrée de l'utilisateur est d'abord stockée sous forme de chaîne. La méthode int.TryParse() tente de convertir la ligne en entier, mais elle n'effectue pas réellement la conversion tant qu'elle n'a pas constaté que l'entrée est valide. Si la conversion réussit, elle renvoie vrai et la valeur entière est stockée dans la valeur du paramètre out. Si la conversion échoue, la méthode renvoie false et le paramètre value reste inchangé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!