Partage via


Tutoriel : Créer une application console C# simple dans Visual Studio (partie 1 sur 2)

Dans ce tutoriel, vous utilisez Visual Studio pour créer et exécuter une application console C# et explorer certaines fonctionnalités de l’environnement de développement intégré Visual Studio (IDE). Ce tutoriel fait partie 1 d’une série de tutoriels en deux parties.

Dans ce tutoriel, vous effectuez les tâches suivantes :

  • Créez un projet Visual Studio.
  • Créez une application console C#.
  • Déboguer votre application.
  • Fermez votre application.
  • Inspectez votre code complet.

Dans la partie 2, vous étendez cette application pour ajouter d’autres projets, découvrir des astuces de débogage et référencer des packages tiers.

Conditions préalables

Visual Studio doit être installé.

Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.

Créer un projet

Pour commencer, créez un projet d’application C#. Le type de projet est fourni avec tous les fichiers de modèle dont vous avez besoin.

  1. Ouvrez Visual Studio, puis sélectionnez Créer un projet dans la fenêtre Démarrer.

    Capture d’écran montrant la fenêtre Créer un projet.

  2. Dans la fenêtre Créer un projet, choisissez C# dans la liste des langages. Ensuite, choisissez Windows dans la liste plateforme et console dans la liste des types de projets.

    Après avoir appliqué les filtres de langage, de plateforme et de type de projet, choisissez le modèle Application Console, puis sélectionnez Suivant.

    Remarque

    Si vous ne voyez pas le modèle d’application console, sélectionnez Installer d’autres outils et fonctionnalités.

    Capture d’écran montrant le lien Installer d’autres outils et fonctionnalités.

    Dans Visual Studio Installer, choisissez la charge de travail Développement multiplateforme .NET Core.

    Capture d’écran montrant la charge de travail de développement multiplateforme .NET Core dans Visual Studio Installer.

    Sélectionnez Modifier dans Visual Studio Installer. Vous serez peut-être invité à enregistrer votre travail. Sélectionnez Continuer pour installer la charge de travail.

    Revenez à l’étape 2 dans cette procédure «Créer un projet».

  3. Dans la fenêtre Configurer votre nouveau projet, tapez ou entrez Calculator dans la zone Nom du projet. Ensuite, sélectionnez suivant.

    Capture d’écran montrant comment nommer votre projet « Calculatrice » dans la fenêtre « Configurer votre nouveau projet » dans Visual Studio.

  4. Dans la fenêtre Informations supplémentaires, vérifiez que .NET Core 3.1 apparaît dans le champ Framework cible. Sélectionnez ensuite Créer.

    Capture d’écran de la fenêtre Informations supplémentaires dans Visual Studio montrant .NET Core 3.1 comme framework cible pour le nouveau projet.

Visual Studio ouvre votre nouveau projet, qui inclut le code « Hello World » par défaut. Pour l’afficher dans l’éditeur, sélectionnez le fichier de code Program.cs dans la fenêtre explorateur de solutions, qui se trouve généralement sur le côté droit de Visual Studio.

Le code « Hello World » par défaut appelle la méthode WriteLine pour afficher la chaîne littérale « Hello, World ! » dans la fenêtre de console. Si vous appuyez sur F5, vous pouvez exécuter le programme par défaut en mode Débogage. Une fois l’application exécutée dans le débogueur, la fenêtre de console reste ouverte. Appuyez sur n’importe quelle touche pour fermer la fenêtre de console.

  1. Ouvrez Visual Studio, puis sélectionnez Créer un projet dans la fenêtre Démarrer.

    Capture d’écran montrant la fenêtre Créer un projet.

  2. Dans la fenêtre Créer un projet, sélectionnez Toutes les langues, puis choisissez C# dans la liste déroulante. Choisissez Windows dans la liste Toutes les plateformes, puis console dans la liste Tous les types de projets.

    Après avoir appliqué les filtres de type langage, plateforme et projet, choisissez le modèle application console, puis sélectionnez suivant.

    Remarque

    Si vous ne voyez pas le modèle d'application console , sélectionnez Installer d’autres outils et fonctionnalités.

    Capture d’écran montrant le lien Installer d’autres outils et fonctionnalités.

    Dans Visual Studio Installer, sélectionnez la charge de travail Développement .NET Desktop.

    Capture d’écran montrant la charge de travail de développement de bureau .NET dans Visual Studio Installer.

    Sélectionnez Modifier dans Visual Studio Installer. Vous serez peut-être invité à enregistrer votre travail. Sélectionnez Continuer pour installer la charge de travail.

    Revenez à l’étape 2 dans cette procédure «Créer un projet».

  3. Dans la fenêtre Configurer votre nouveau projet, tapez ou entrez Calculatrice dans la case Nom du projet puis sélectionnez Suivant.

    Capture d’écran montrant comment nommer votre projet « Calculatrice » dans la fenêtre « Configurer votre nouveau projet » dans Visual Studio.

  4. Dans la fenêtre Informations supplémentaires, sélectionnez .NET 8.0 pour le champ Target Framework. Sélectionnez ensuite Créer.

    Capture d’écran de la fenêtre Informations supplémentaires dans Visual Studio montrant .NET 8.0 sélectionné comme framework cible pour le nouveau projet.

Visual Studio ouvre votre nouveau projet, qui inclut le code « Hello World » par défaut. Pour l’afficher dans l’éditeur, sélectionnez le fichier de code Program.cs dans la fenêtre explorateur de solutions, qui se trouve généralement sur le côté droit de Visual Studio.

L’instruction de code unique appelle la méthode WriteLine pour afficher la chaîne littérale « Hello, World ! » dans la fenêtre de console. Si vous appuyez sur F5, vous pouvez exécuter le programme par défaut en mode Débogage. Une fois l’application exécutée dans le débogueur, la fenêtre de console reste ouverte. Appuyez sur n’importe quelle touche pour fermer la fenêtre de console.

Remarque

À compter de .NET 6, de nouveaux projets utilisant le modèle de console génèrent du code différent de ceux des versions précédentes. Pour plus d’informations, consultez la page Nouveaux modèles C# génèrent des instructions de niveau supérieur.

Créer l’application

Dans cette section, vous effectuez les tâches suivantes :

  • Explorez des mathématiques entières de base en C#.
  • Ajoutez du code pour créer une application de calculatrice de base.
  • Déboguer l’application pour rechercher et corriger les erreurs.
  • Affinez le code pour le rendre plus efficace.

Explorer les mathématiques entières

Commencez par quelques mathématiques entières de base en C#.

  1. Dans l’éditeur de code, supprimez le code « Hello World » par défaut.

    Capture d’écran montrant la suppression du code Hello World par défaut de votre nouvelle application de calculatrice.

    Plus précisément, supprimez la ligne qui indique Console.WriteLine("Hello World!");.

  2. À sa place, entrez le code suivant :

        int a = 42;
        int b = 119;
        int c = a + b;
        Console.WriteLine(c);
        Console.ReadKey();
    

    Notez que lorsque vous entrez le code, la fonctionnalité IntelliSense dans Visual Studio vous offre la possibilité de saisir automatiquement l’entrée.

    Animation du code mathématique entier qui montre la fonctionnalité de saisie semi-automatique IntelliSense dans l’IDE Visual Studio.

  3. Sélectionnez le bouton vert Démarrer à côté de Calculatrice pour générer et exécuter votre programme, ou appuyez sur F5 .

    Capture d’écran montrant le choix du bouton Calculatrice pour exécuter l’application à partir de la barre d’outils.

    Une fenêtre de console s’ouvre qui révèle la somme de 42 + 119, qui est 161.

    Capture d’écran montrant une fenêtre de console avec les résultats des mathématiques entières.

  4. (facultatif) Vous pouvez modifier l’opérateur pour modifier le résultat. Par exemple, vous pouvez modifier l’opérateur de + dans la ligne de code int c = a + b; en - pour la soustraction, * pour la multiplication ou / pour la division. Ensuite, lorsque vous exécutez le programme, le résultat change également.

  5. Fermez la fenêtre de console.

  1. Dans Explorateur de solutions, dans le volet droit, sélectionnez Program.cs pour afficher le fichier dans l’éditeur de code

  2. Dans l’éditeur de code, remplacez le code « Hello World » par défaut qui indique Console.WriteLine("Hello World!");.

    Capture d’écran montrant la ligne à remplacer dans le fichier programme.

    Remplacez la ligne par le code suivant :

        int a = 42;
        int b = 119;
        int c = a + b;
        Console.WriteLine(c);
        Console.ReadKey();
    

    Si vous entrez le code, la fonctionnalité Visual Studio IntelliSense vous offre la possibilité de saisir automatiquement l’entrée.

    Animation du code mathématique entier qui montre la fonctionnalité de saisie semi-automatique IntelliSense dans l’IDE Visual Studio.

  3. Pour générer et exécuter votre application, appuyez sur F5, ou sélectionnez la flèche verte en regard du nom Calculatrice dans la barre d’outils supérieure.

    Capture d’écran montrant la sélection du bouton Calculatrice pour exécuter l’application dans la barre d’outils Débogage.

    Une fenêtre de console s’ouvre qui affiche la somme de 42 + 119, qui est 161.

    Capture d’écran d’une fenêtre console montrant les résultats des mathématiques entières.

  4. Fermez la fenêtre de console.

  5. Si vous le souhaitez, vous pouvez modifier l’opérateur pour modifier le résultat. Par exemple, vous pouvez modifier l’opérateur de + dans la ligne de code int c = a + b; en - pour la soustraction, * pour la multiplication ou / pour la division. Lorsque vous exécutez l’application, le résultat change en conséquence.

Ajouter du code pour créer une calculatrice

Continuez en ajoutant un ensemble plus complexe de code de calculatrice à votre projet.

  1. Dans l’éditeur de code, remplacez tout le code dans Program.cs par le nouveau code suivant :

        using System;
    
        namespace Calculator
        {
            class Program
            {
                static void Main(string[] args)
                {
                    // Declare variables and then initialize to zero.
                    int num1 = 0; int num2 = 0;
    
                    // Display title as the C# console calculator app.
                    Console.WriteLine("Console Calculator in C#\r");
                    Console.WriteLine("------------------------\n");
    
                    // Ask the user to type the first number.
                    Console.WriteLine("Type a number, and then press Enter");
                    num1 = Convert.ToInt32(Console.ReadLine());
    
                    // Ask the user to type the second number.
                    Console.WriteLine("Type another number, and then press Enter");
                    num2 = Convert.ToInt32(Console.ReadLine());
    
                    // Ask the user to choose an option.
                    Console.WriteLine("Choose an option from the following list:");
                    Console.WriteLine("\ta - Add");
                    Console.WriteLine("\ts - Subtract");
                    Console.WriteLine("\tm - Multiply");
                    Console.WriteLine("\td - Divide");
                    Console.Write("Your option? ");
    
                    // Use a switch statement to do the math.
                    switch (Console.ReadLine())
                    {
                        case "a":
                            Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
                            break;
                        case "s":
                            Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
                            break;
                        case "m":
                            Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
                            break;
                        case "d":
                            Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                            break;
                    }
                    // Wait for the user to respond before closing.
                    Console.Write("Press any key to close the Calculator console app...");
                    Console.ReadKey();
                }
            }
        }
    
  2. Sélectionnez le bouton Calculatrice ou appuyez sur F5 pour exécuter votre application.

    Une fenêtre de console s’ouvre.

  3. Dans la fenêtre de console, suivez les instructions pour additionner les nombres 42 et 119.

    Votre application doit ressembler à la capture d’écran suivante :

    Capture d’écran d’une fenêtre console montrant l’application Calculatrice avec une invite.

  1. Dans l’éditeur de code, remplacez tout le code dans Program.cs par le nouveau code suivant :

        // Declare variables and then initialize to zero.
        int num1 = 0; int num2 = 0;
    
        // Display title as the C# console calculator app.
        Console.WriteLine("Console Calculator in C#\r");
        Console.WriteLine("------------------------\n");
    
        // Ask the user to type the first number.
        Console.WriteLine("Type a number, and then press Enter");
        num1 = Convert.ToInt32(Console.ReadLine());
    
        // Ask the user to type the second number.
        Console.WriteLine("Type another number, and then press Enter");
        num2 = Convert.ToInt32(Console.ReadLine());
    
        // Ask the user to choose an option.
        Console.WriteLine("Choose an option from the following list:");
        Console.WriteLine("\ta - Add");
        Console.WriteLine("\ts - Subtract");
        Console.WriteLine("\tm - Multiply");
        Console.WriteLine("\td - Divide");
        Console.Write("Your option? ");
    
        // Use a switch statement to do the math.
        switch (Console.ReadLine())
        {
            case "a":
                Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
                break;
            case "s":
                Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
                break;
            case "m":
                Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
                break;
            case "d":
                Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                break;
        }
        // Wait for the user to respond before closing.
        Console.Write("Press any key to close the Calculator console app...");
        Console.ReadKey();
    
  2. Sélectionnez le bouton Calculatrice ou appuyez sur la touche F5 pour exécuter votre application.

    Une fenêtre de console s’ouvre.

  3. Dans la fenêtre de console, suivez les instructions pour ajouter les nombres 42 et 119.

    Votre application doit ressembler à la capture d’écran suivante :

    Capture d’écran d’une fenêtre console montrant l’application Calculatrice avec des instructions.

Ajouter des fonctionnalités décimales

Maintenant, ajustez le code pour ajouter d’autres fonctionnalités.

L’application calculatrice actuelle accepte et retourne uniquement des nombres entiers. Par exemple, si vous exécutez l’application et divisez le nombre 42 par le nombre 119, votre résultat est égal à zéro, ce qui n’est pas exact.

Capture d’écran d’une fenêtre console montrant l’application Calculatrice qui retourne un nombre entier incorrect en conséquence.

Pour corriger le code pour améliorer la précision en gérant les décimales :

  1. À partir de Program.cs dans l’éditeur Visual Studio, appuyez sur Ctrl+H pour ouvrir le contrôle Rechercher et remplacer.

  2. Tapez int dans le contrôle et tapez float dans le champ Remplacer.

  3. Sélectionnez les icônes Correspondant à la casse et au mot entier dans le contrôle, ou appuyez sur Alt+C et Alt+W.

  4. Sélectionnez l’icône Tout remplacer ou appuyez sur Alt+A pour exécuter la recherche et le remplacement.

    Animation du contrôle Rechercher et remplacer montrant comment modifier la variable int en float.

  5. Réexécutez votre application de calculatrice et divisez le nombre 42 par le nombre 119.

    L’application retourne maintenant un nombre décimal au lieu de zéro.

    Capture d’écran d’une fenêtre console montrant l’application Calculatrice qui retourne désormais un chiffre décimal en conséquence.

    À présent, l’application peut produire des résultats décimaux. Apportez quelques ajustements supplémentaires au code afin que l’application puisse également calculer les décimales.

  6. Utilisez le contrôle rechercher et remplacer pour modifier chaque instance de la variable float en doubleet pour modifier chaque instance de la méthode Convert.ToInt32 en Convert.ToDouble.

  7. Exécutez votre application de calculatrice et divisez le nombre 42,5 par le nombre 119,75.

    L’application accepte désormais les valeurs décimales et retourne un chiffre décimal plus long en conséquence.

    Capture d’écran d’une fenêtre console montrant l’application Calculatrice qui accepte désormais les nombres décimaux et retourne un résultat décimal plus long.

    Dans la section Réviser le code, vous réduisez le nombre de décimales dans les résultats.

Déboguer l’application

Vous avez amélioré votre application de calculatrice de base, mais votre application ne gère pas encore les exceptions, telles que les erreurs d’entrée utilisateur. Par exemple, si les utilisateurs essaient de diviser par zéro ou d’entrer un caractère inattendu, l’application peut cesser de fonctionner, retourner une erreur ou retourner un résultat non numérique inattendu.

Examinons quelques erreurs courantes d’entrée utilisateur, localisons-les dans le débogueur s’ils y apparaissent et corrigez-les dans le code.

Conseil

Pour plus d’informations sur le débogueur et son fonctionnement, consultez Premier aperçu du débogueur Visual Studio.

Correction de l’erreur « diviser par zéro »

Si vous essayez de diviser un nombre par zéro, l’application console peut se figer, puis vous montre ce qui se passe mal dans l’éditeur de code.

Capture d’écran de l’éditeur de code Visual Studio montrant une ligne mise en surbrillance en jaune et une erreur d’exception non gérée pour « Tentative de division par zéro ».

Remarque

Parfois, l’application ne se fige pas, et le débogueur n’affiche pas d’erreur de division par zéro. Au lieu de cela, l’application peut retourner un résultat non numérique inattendu, tel qu’un symbole d’infini. Le correctif de code suivant s’applique toujours.

Nous allons modifier le code pour gérer cette erreur. Dans Program.cs, remplacez le code pour case "d": par le code suivant :

            // Ask the user to enter a non-zero divisor until they do so.
                while (num2 == 0)
                {
                    Console.WriteLine("Enter a non-zero divisor: ");
                    num2 = Convert.ToDouble(Console.ReadLine());
                }
                Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                break;
        }

Après avoir remplacé le code, la section par l’instruction switch doit ressembler à la capture d’écran suivante :

Capture d’écran montrant la section de commutateur révisé dans l’éditeur de code Visual Studio.

Maintenant, lorsque vous divisez un nombre par zéro, l’application demande un autre nombre et continue de demander jusqu’à ce que vous fournissez un nombre différent de zéro.

Capture d’écran d’une fenêtre console avec une invite répétée pour fournir un nombre différent de zéro.

Corriger l’erreur « format »

Si vous entrez un caractère alphabétique lorsque l’application attend un caractère numérique, l’application se fige. Visual Studio vous montre ce qui est incorrect dans l’éditeur de code.

Capture d’écran montrant une erreur de format non gérée dans l’éditeur de code Visual Studio.

Capture d’écran montrant une erreur de format non gérée dans l’éditeur de code Visual Studio.

Pour empêcher cette exception, vous pouvez refactoriser le code que vous avez entré précédemment.

Réviser le code

Au lieu de vous appuyer sur la classe program pour gérer tout le code, vous pouvez diviser votre application en deux classes : Calculator et Program.

La classe Calculator gère la majeure partie du travail de calcul, et la classe Program gère l’interface utilisateur et le travail de gestion des erreurs.

Commençons.

  1. Dans Program.cs, supprimez tout et ajoutez la nouvelle classe Calculator suivante :

    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error.
    
            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }
    
    
  2. Ajoutez également une nouvelle classe Program, comme suit :

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");
    
            while (!endApp)
            {
                // Declare variables and set to empty.
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;
    
                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();
    
                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter a numeric value: ");
                    numInput1 = Console.ReadLine();
                }
    
                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();
    
                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter a numeric value: ");
                    numInput2 = Console.ReadLine();
                }
    
                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                string op = Console.ReadLine();
    
                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }
    
                Console.WriteLine("------------------------\n");
    
                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;
    
                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
    
  3. Sélectionnez le bouton Calculatrice ou appuyez sur F5 pour exécuter votre application.

  4. Suivez les instructions et divisez le nombre 42 par le nombre 119. Vos résultats doivent ressembler à la capture d’écran suivante :

    capture d’écran montrant une fenêtre de la console avec l’application Calculatrice refactorisée.

    Vous pouvez maintenant exécuter davantage de calculs jusqu’à ce que vous choisissiez de fermer l’application console. Il y a également moins de décimales dans les résultats. Et si vous entrez un caractère incorrect, vous obtenez une réponse d’erreur appropriée.

Réviser le code

Au lieu de vous appuyer sur la classe program pour gérer tout le code, vous pouvez diviser votre application en deux classes : Calculator et Program.

La classe Calculator gère la majeure partie du travail de calcul, et la classe Program gère l’interface utilisateur et le travail de gestion des erreurs.

Commençons.

  1. Dans Program.cs, supprimez tout et ajoutez la nouvelle classe Calculator suivante :

    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error.
    
            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }
    
    
  2. Ajoutez également une nouvelle classe Program, comme suit :

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");
    
            while (!endApp)
            {
                // Declare variables and set to empty.
                // Use Nullable types (with ?) to match type of System.Console.ReadLine
                string? numInput1 = "";
                string? numInput2 = "";
                double result = 0;
    
                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();
    
                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter a numeric value: ");
                    numInput1 = Console.ReadLine();
                }
    
                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();
    
                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter a numeric value: ");
                    numInput2 = Console.ReadLine();
                }
    
                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                string? op = Console.ReadLine();
    
                // Validate input is not null, and matches the pattern
                if (op == null || ! Regex.IsMatch(op, "[a|s|m|d]"))
                {
                   Console.WriteLine("Error: Unrecognized input.");
                }
                else
                { 
                   try
                   {
                      result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                      if (double.IsNaN(result))
                      {
                         Console.WriteLine("This operation will result in a mathematical error.\n");
                      }
                      else Console.WriteLine("Your result: {0:0.##}\n", result);
                    }
                    catch (Exception e)
                    {
                       Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                    }
                }
                Console.WriteLine("------------------------\n");
    
                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;
    
                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
    

    Remarque

    Il est préférable d’utiliser des types nullables (avec le symbole ?) pour les chaînes d’entrée, car System.Console.ReadLine retourne un type de référence nullable .

  3. Sélectionnez le bouton Calculatrice ou appuyez sur F5 pour lancer votre application.

  4. Suivez les instructions et divisez le nombre 42 par le nombre 119. Vos résultats doivent ressembler à la capture d’écran suivante :

    capture d’écran montrant une fenêtre de la console avec l’application Calculatrice refactorisée.

    Vous pouvez maintenant exécuter davantage de calculs jusqu’à ce que vous choisissiez de fermer l’application console. Il y a également moins de décimales dans les résultats. Et si vous entrez un caractère incorrect, vous obtenez une réponse d’erreur appropriée.

Fermer l’application

  1. Si ce n’est déjà fait, fermez l’application Calculatrice.

  2. Fermez le volet Sortie dans Visual Studio.

    Capture d’écran montrant la fermeture du volet Sortie dans Visual Studio.

  3. Dans Visual Studio, appuyez sur Ctrl+S pour enregistrer votre application.

Ajouter un contrôle de code source Git

Maintenant que vous disposez d’une application, vous pouvez l’ajouter à un dépôt Git. Visual Studio facilite ce processus avec les outils Git que vous pouvez utiliser directement à partir de l’IDE.

Conseil

Git est le système de contrôle de version moderne le plus utilisé. Que vous soyez développeur professionnel ou que vous appreniez à coder, Git peut être très utile. Si vous débutez avec Git, le site web https://git-scm.com/ est un bon point de départ. Vous trouverez des feuilles de triche, un livre en ligne populaire et des vidéos Git Basics.

Pour associer votre code à Git, commencez par créer un dépôt Git où se trouve votre code :

  1. Dans la barre d’état située en bas à droite de Visual Studio, sélectionnez Ajouter au contrôle de code source, puis sélectionnez Git.

    Capture d’écran montrant comment accéder à l’action de contrôle de code source Git à partir de Add to Source Control dans Visual Studio.

  2. Dans la boîte de dialogue Créer un dépôt Git, connectez-vous à GitHub :

    Capture d’écran de la fenêtre de boîte de dialogue Créer un dépôt Git dans laquelle vous pouvez vous connecter à GitHub.

    Le nom du référentiel est renseigné automatiquement en fonction de l’emplacement de votre dossier. Votre nouveau référentiel est privé par défaut, ce qui signifie que vous êtes le seul à y accéder.

    Conseil

    Que votre référentiel soit public ou privé, il est préférable d’avoir une sauvegarde à distance de votre code stockée en toute sécurité sur GitHub. Même si vous ne travaillez pas avec une équipe, un référentiel distant met votre code à votre disposition à partir d’un ordinateur.

  3. Sélectionnez Créer et envoyer (push). Après avoir créé votre référentiel, vous voyez les détails de l’état dans la barre d’état :

    Capture d’écran de la barre d’état du référentiel sous le volet Explorateur de solutions dans Visual Studio.

Utiliser des actions Git dans Visual Studio

Voici un bref résumé des actions Git disponibles dans la barre d’état de Visual Studio :

  • Les flèches Haut/Bas indiquent le nombre de validations sortantes/entrantes dans votre canal actuel. Vous pouvez utiliser cette icône pour extraire les validations entrantes ou envoyer (push) des validations sortantes.

  • Pour afficher une validation spécifique, sélectionnez la flèche Haut/Bas, puis Afficher les validations sortantes/entrantes.

  • Le crayon indique le nombre de modifications non validées dans votre code. Vous pouvez sélectionner cette icône pour afficher ces modifications dans la fenêtre Modifications Git.

Le menu Git fournit des outils pour les actions de dépôt sur vos fichiers. Vous pouvez utiliser git fetch, pull, push et sync pour le contrôle de version dans Visual Studio.

Pour plus d’informations sur l’utilisation de Git avec votre application, consultez À propos de Git dans Visual Studio.

Révision : Code terminé

Dans ce tutoriel, vous avez apporté de nombreuses modifications à l’application Calculatrice. L’application gère désormais plus efficacement les ressources informatiques et gère la plupart des erreurs d’entrée utilisateur.

Voici le code complet, à un seul endroit :


class Calculator
{
    public static double DoOperation(double num1, double num2, string op)
    {
        double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.

        // Use a switch statement to do the math.
        switch (op)
        {
            case "a":
                result = num1 + num2;
                break;
            case "s":
                result = num1 - num2;
                break;
            case "m":
                result = num1 * num2;
                break;
            case "d":
                // Ask the user to enter a non-zero divisor.
                if (num2 != 0)
                {
                    result = num1 / num2;
                }
                break;
            // Return text for an incorrect option entry.
            default:
                break;
        }
        return result;
    }
}

class Program
{
    static void Main(string[] args)
    {
        bool endApp = false;
        // Display title as the C# console calculator app.
        Console.WriteLine("Console Calculator in C#\r");
        Console.WriteLine("------------------------\n");

        while (!endApp)
        {
            // Declare variables and set to empty.
            string numInput1 = "";
            string numInput2 = "";
            double result = 0;

            // Ask the user to type the first number.
            Console.Write("Type a number, and then press Enter: ");
            numInput1 = Console.ReadLine();

            double cleanNum1 = 0;
            while (!double.TryParse(numInput1, out cleanNum1))
            {
                Console.Write("This is not valid input. Please enter a numeric value: ");
                numInput1 = Console.ReadLine();
            }

            // Ask the user to type the second number.
            Console.Write("Type another number, and then press Enter: ");
            numInput2 = Console.ReadLine();

            double cleanNum2 = 0;
            while (!double.TryParse(numInput2, out cleanNum2))
            {
                Console.Write("This is not valid input. Please enter a numeric value: ");
                numInput2 = Console.ReadLine();
            }

            // Ask the user to choose an operator.
            Console.WriteLine("Choose an operator from the following list:");
            Console.WriteLine("\ta - Add");
            Console.WriteLine("\ts - Subtract");
            Console.WriteLine("\tm - Multiply");
            Console.WriteLine("\td - Divide");
            Console.Write("Your option? ");

            string op = Console.ReadLine();

            try
            {
                result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                if (double.IsNaN(result))
                {
                    Console.WriteLine("This operation will result in a mathematical error.\n");
                }
                else Console.WriteLine("Your result: {0:0.##}\n", result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
            }

            Console.WriteLine("------------------------\n");

            // Wait for the user to respond before closing.
            Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
            if (Console.ReadLine() == "n") endApp = true;

            Console.WriteLine("\n"); // Friendly linespacing.
        }
        return;
    }
}


class Calculator
{
    public static double DoOperation(double num1, double num2, string op)
    {
        double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.

        // Use a switch statement to do the math.
        switch (op)
        {
            case "a":
                result = num1 + num2;
                break;
            case "s":
                result = num1 - num2;
                break;
            case "m":
                result = num1 * num2;
                break;
            case "d":
                // Ask the user to enter a non-zero divisor.
                if (num2 != 0)
                {
                    result = num1 / num2;
                }
                break;
            // Return text for an incorrect option entry.
            default:
                break;
        }
        return result;
    }
}

class Program
{
    static void Main(string[] args)
    {
        bool endApp = false;
        // Display title as the C# console calculator app.
        Console.WriteLine("Console Calculator in C#\r");
        Console.WriteLine("------------------------\n");

        while (!endApp)
        {
            // Declare variables and set to empty.
            // Use Nullable types (with ?) to match type of System.Console.ReadLine
            string? numInput1 = "";
            string? numInput2 = "";
            double result = 0;

            // Ask the user to type the first number.
            Console.Write("Type a number, and then press Enter: ");
            numInput1 = Console.ReadLine();

            double cleanNum1 = 0;
            while (!double.TryParse(numInput1, out cleanNum1))
            {
                Console.Write("This is not valid input. Please enter a numeric value: ");
                numInput1 = Console.ReadLine();
            }

            // Ask the user to type the second number.
            Console.Write("Type another number, and then press Enter: ");
            numInput2 = Console.ReadLine();

            double cleanNum2 = 0;
            while (!double.TryParse(numInput2, out cleanNum2))
            {
                Console.Write("This is not valid input. Please enter a numeric value: ");
                numInput2 = Console.ReadLine();
            }

            // Ask the user to choose an operator.
            Console.WriteLine("Choose an operator from the following list:");
            Console.WriteLine("\ta - Add");
            Console.WriteLine("\ts - Subtract");
            Console.WriteLine("\tm - Multiply");
            Console.WriteLine("\td - Divide");
            Console.Write("Your option? ");

            string? op = Console.ReadLine();

            // Validate input is not null, and matches the pattern
            if (op == null || ! Regex.IsMatch(op, "[a|s|m|d]"))
            {
                Console.WriteLine("Error: Unrecognized input.");
            }
            else
            { 
                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }
            }
            Console.WriteLine("------------------------\n");

            // Wait for the user to respond before closing.
            Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
            if (Console.ReadLine() == "n") endApp = true;

            Console.WriteLine("\n"); // Friendly linespacing.
        }
        return;
    }
}

Étapes suivantes

Poursuivez avec la deuxième partie de ce didacticiel :