Didacticiel : créer une application console C# simple dans Visual StudioTutorial: Create a simple C# console app in Visual Studio

Dans ce tutoriel pour C#, vous allez utiliser Visual Studio afin de créer et d’exécuter une application console tout en découvrant certaines fonctionnalités de l’IDE (environnement de développement intégré) Visual Studio.In this tutorial for C#, you'll use Visual Studio to create and run a console app and explore some features of the Visual Studio integrated development environment (IDE) while you do so.

Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Créer un projetCreate a project

Commençons par créer un projet d’application C#.To start, we'll create a C# application project. Le type de projet inclut tous les fichiers de modèle dont vous aurez besoin au départ.The project type comes with all the template files you'll need, before you've even added anything!

  1. Ouvrez Visual Studio 2017.Open Visual Studio 2017.

  2. Dans la barre de menus supérieure, choisissez fichier > nouveau > projet.From the top menu bar, choose File > New > Project. (Vous pouvez également appuyer sur CTRL + MAJ + N).(Alternatively, press Ctrl+Shift+N).

  3. Dans le volet gauche de la boîte de dialogue Nouveau projet, développez C#, puis choisissez .NET Core.In the left pane of the New Project dialog box, expand C#, and then choose .NET Core. Dans le volet central, choisissez Application console (.NET Core).In the middle pane, choose Console App (.NET Core). Nommez ensuite la calculatrice de fichier.Then name the file Calculator.

    Modèle de projet d’application console (.NET Core) dans la boîte de dialogue Nouveau projet dans l’IDE de Visual Studio

Ajouter une charge de travail (facultatif)Add a workload (optional)

Si vous ne voyez pas le modèle de projet Application console (.NET Core), vous pouvez l’obtenir en ajoutant la charge de travail Développement multiplateforme .NET Core.If you don't see the Console App (.NET Core) project template, you can get it by adding the .NET Core cross-platform development workload. Voici comment faire.Here's how.

Option 1 : Utiliser la boîte de dialogue Nouveau projetOption 1: Use the New Project dialog box

  1. Cliquez sur le lien Ouvrir Visual Studio Installer dans le volet gauche de la boîte de dialogue Nouveau projet.Choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

    Cliquer sur le lien Ouvrir Visual Studio Installer dans la boîte de dialogue Nouveau projet

  2. Visual Studio Installer est lancé.The Visual Studio Installer launches. Choisissez la charge de travail Développement multiplateforme .NET Core, puis choisissez Modifier.Choose the .NET Core cross-platform development workload, and then choose Modify.

    Charge de travail Développement multiplateforme .Net Core dans le programme d’installation de Visual Studio

Option 2 : Utiliser la barre de menus OutilsOption 2: Use the Tools menu bar

  1. Quittez la boîte de dialogue Nouveau projet puis, dans la barre de menus supérieure, choisissez Outils > Obtenir les outils et fonctionnalités.Cancel out of the New Project dialog box and from the top menu bar, choose Tools > Get Tools and Features.

  2. Visual Studio Installer est lancé.The Visual Studio Installer launches. Choisissez la charge de travail Développement multiplateforme .NET Core, puis choisissez Modifier.Choose the .NET Core cross-platform development workload, and then choose Modify.

  1. Ouvrez Visual Studio 2019.Open Visual Studio 2019.

  2. Dans la fenêtre Démarrer, choisissez créer un nouveau projet.On the start window, choose Create a new project.

    Afficher la fenêtre « Créer un projet »

  3. Dans la fenêtre Créer un projet, entrez ou tapez console dans la zone de recherche.On the Create a new project window, enter or type console in the search box. Ensuite, choisissez C# Dans la liste des langages, puis choisissez Windows dans la liste des plateformes.Next, choose C# from the Language list, and then choose Windows from the Platform list.

    Après avoir appliqué les filtres de langage et de plateforme, choisissez le modèle Application console (.NET Core), puis choisissez Suivant.After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

    Choisissez le modèle C# pour l’application console (.NET Framework).

    Notes

    Si vous ne voyez pas le modèle Application console (.NET Core), vous pouvez l’installer à partir de la fenêtre Créer un projet.If you do not see the Console App (.NET Core) template, you can install it from the Create a new project window. Dans le Vous ne trouvez pas ce que vous cherchez ?, choisissez le lien Installer plus d’outils et de fonctionnalités.In the Not finding what you're looking for? message, choose the Install more tools and features link.

    Le lien « Installer plus d’outils et de fonctionnalités » du message « Vous ne trouvez pas ce que vous cherchez ? » dans la fenêtre « Créer un projet »

    Ensuite, dans Visual Studio Installer, choisissez la charge de travail Développement multiplateforme .NET Core.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

    Charge de travail Développement multiplateforme .Net Core dans le programme d’installation de Visual Studio

    Après cela, choisissez le bouton Modifier dans Visual Studio Installer.After that, choose the Modify button in the Visual Studio Installer. Vous pouvez être invité à enregistrer votre travail ; le cas échéant, faites-le.You might be prompted to save your work; if so, do so. Ensuite, choisissez Continuer pour installer la charge de travail.Next, choose Continue to install the workload. Ensuite, revenez à l’étape 2 de cette procédure « Créer un projet ».Then, return to step 2 in this "Create a project" procedure.

  4. Dans la fenêtre Configurer votre nouveau projet, tapez ou entrez Calculator dans la zone Nom du projet.In the Configure your new project window, type or enter Calculator in the Project name box. Ensuite, choisissez créer.Then, choose Create.

    Dans la fenêtre « Configurer votre nouveau projet », nommez votre projet « Calculator »

    Visual Studio ouvre votre nouveau projet, qui inclut le code de « Hello World » par défaut.Visual Studio opens your new project, which includes default "Hello World" code.

Créer l’applicationCreate the app

Tout d’abord, nous allons découvrir certaines notions mathématiques de base relatives aux entiers en C#.First, we'll explore some basic integer math in C#. Nous ajouterons ensuite du code pour créer une calculatrice de base.Then, we'll add code to create a basic calculator. Après cela, nous allons déboguer l’application pour rechercher et corriger les erreurs.After that, we'll debug the app to find and fix errors. Enfin, nous affinerons le code pour le rendre plus efficace.And finally, we'll refine the code to make it more efficient.

Explorer les mathématiques avec des entiersExplore integer math

Commençons par quelques notions mathématiques de base relatives aux entiers en C#.Let's start with some basic integer math in C#.

  1. Dans l’éditeur de code, supprimez le code « Hello World » par défaut.In the code editor, delete the default "Hello World" code.

    Supprimer le code Hello World par défaut de votre nouvelle application de calculatrice

    Plus précisément, supprimez la ligne indiquant Console.WriteLine("Hello World!");.Specifically, delete the line that says, Console.WriteLine("Hello World!");.

  2. À la place, tapez le code suivant :In its place, type the following code:

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

    Notez que, quand vous procédez ainsi, la fonctionnalité IntelliSense dans Visual Studio vous offre la possibilité de renseigner automatiquement l’entrée.Notice that when you do so, the IntelliSense feature in Visual Studio offers you the option to autocomplete the entry.

    Notes

    L’animation suivante n’est pas destinée à dupliquer le code précédent.The following animation isn't intended to duplicate the preceding code. Il est destiné uniquement à illustrer le fonctionnement de la fonctionnalité de saisie semi-automatique.It's intended only to show how the autocomplete feature works.

    Animation de code mathématique avec des entiers qui illustre la fonctionnalité de saisie semi-automatique IntelliSense dans l’IDE Visual Studio

  3. Choisissez le bouton vert Démarrer en regard de calculatrice pour générer et exécuter votre programme, ou appuyez sur F5.Choose the green Start button next to Calculator to build and run your program, or press F5.

    Cliquer sur le bouton Calculator pour exécuter l’application à partir de la barre d’outils

    Une fenêtre de console s’ouvre en affichant la somme de 42 + 119, c’est-à-dire 161.A console window opens that reveals the sum of 42 + 119, which is 161.

    Fenêtre de console affichant les résultats de code mathématique avec des entiers

  4. (Facultatif) Vous pouvez changer d’opérateur pour modifier le résultat.(Optional) You can change the operator to change the result. Par exemple, vous pouvez remplacer l’opérateur + dans la ligne de code int c = a + b; par - pour la soustraction, * pour la multiplication ou / pour la division.For example, you can change the + operator in the int c = a + b; line of code to - for subtraction, * for multiplication, or / for division. Ensuite, quand vous exécutez le programme, le résultat change également.Then, when you run the program, the result changes, too.

  5. Fermez la fenêtre de console.Close the console window.

Ajouter du code pour créer une calculatriceAdd code to create a calculator

Continuons en ajoutant un ensemble plus complexe de code de calculatrice à votre projet.Let's continue by adding a more complex set of calculator code to your project.

  1. Supprimez tout le code que vous voyez dans l’éditeur de code.Delete all the code you see in the code editor.

  2. Entrez ou collez le nouveau code suivant dans l’éditeur de code :Enter or paste the following new code into the code editor:

    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();
            }
        }
    }
    
  3. Cliquez sur Calculator pour exécuter votre programme, ou appuyez sur F5.Choose Calculator to run your program, or press F5.

    Cliquer sur le bouton Calculator pour exécuter l’application à partir de la barre d’outils

    Une fenêtre de console s'ouvre.A console window opens.

  4. Affichez votre application dans la fenêtre de console, puis suivez les invites pour ajouter les chiffres 42 et 119.View your app in the console window, and then follow the prompts to add the numbers 42 and 119.

    Votre application doit ressembler à la capture d’écran suivante :Your app should look similar to the following screenshot:

    Fenêtre de console montrant l’application Calculator, avec des invites sur les actions à effectuer

Ajouter des fonctionnalités à la calculatriceAdd functionality to the calculator

Modifions le code pour ajouter d’autres fonctionnalités.Let's tweak the code to add further functionality.

Ajouter des nombres décimauxAdd decimals

Actuellement, l’application Calculator accepte et retourne des nombres entiers.The calculator app currently accepts and returns whole numbers. Elle sera cependant plus précise si nous ajoutons le code permettant de traiter des nombres décimaux.But, it will be more precise if we add code that allows for decimals.

Comme dans la capture d’écran suivante, si vous exécutez l’application et divisez 42 par 119, votre résultat est 0 (zéro), ce qui n’est pas exact.As in the following screenshot, if you run the app and divide number 42 by the number 119, your result is 0 (zero), which isn't exact.

Fenêtre de console montrant l’application Calculator qui ne retourne pas un nombre décimal en tant que résultat

Corrigeons le code afin qu’il gère les nombres décimaux.Let's fix the code so that it handles decimals.

  1. Appuyez sur CTRL + H pour ouvrir le contrôle Rechercher et remplacer .Press Ctrl + H to open the Find and Replace control.

  2. Remplacez chaque instance de la variable int par float.Change each instance of the int variable to float.

    Veillez à activer/désactiver Respecter la casse (Alt+C) et Mot entier (Alt+W) dans le contrôle Rechercher et remplacer.Make sure that you toggle Match case (Alt+C) and Match whole word (Alt+W) in the Find and Replace control.

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

  3. Exécutez à nouveau votre application de calculatrice et divisez 42 par 119.Run your calculator app again and divide the number 42 by the number 119.

    Notez que l’application retourne désormais un chiffre décimal au lieu de zéro.Notice that the app now returns a decimal numeral instead of zero.

    Fenêtre de console montrant l’application Calculator qui retourne maintenant un nombre décimal en tant que résultat

Toutefois, l’application ne produit qu’un résultat décimal.However, the app produces only a decimal result. Apportons quelques ajustements au code afin que l’application puisse aussi calculer des valeurs décimales.Let's make a few more tweaks to the code so that the app can calculate decimals too.

  1. Utilisez le contrôle Rechercher et remplacer (CTRL + H) pour remplacer chaque instance de la float variable par double , et pour remplacer chaque instance de la Convert.ToInt32 méthode par Convert.ToDouble .Use the Find and Replace control (Ctrl + H) to change each instance of the float variable to double, and to change each instance of the Convert.ToInt32 method to Convert.ToDouble.

  2. Exécutez votre application de calculatrice et divisez 42,5 par 119,75.Run your calculator app and divide the number 42.5 by the number 119.75.

    Notez que l’application accepte maintenant les valeurs décimales et retourne un chiffre décimal plus long comme résultat.Notice that the app now accepts decimal values and returns a longer decimal numeral as its result.

    Fenêtre de console montrant l’application Calculator qui accepte maintenant les nombres décimaux et retourne un nombre décimal plus long en tant que résultat

    (Nous corrigerons le nombre de décimales dans la section Réviser le code.)(We'll fix the number of decimal places in the Revise the code section.)

Déboguer l’applicationDebug the app

Nous avons amélioré notre application de calculatrice de base, mais elle ne dispose pas encore des filets de sécurité nécessaires pour gérer les exceptions, comme les erreurs des entrées utilisateur.We've improved on our basic calculator app, but it doesn't yet have fail safes in place to handle exceptions, such as user input errors.

Par exemple, si vous essayez de diviser un nombre par zéro, ou d’entrer un caractère alpha lorsque l’application attend un caractère numérique (ou vice versa), l’application peut cesser de fonctionner, retourner une erreur ou retourner un résultat non numérique inattendu.For example, if you try to divide a number by zero, or enter an alpha character when the app expects a numeric character (or vice versa), the app might stop working, return an error, or return an unexpected nonnumeric result.

Passons en revue quelques-unes des erreurs d’entrée utilisateur courantes, localisez-les dans le débogueur s’ils y apparaissent, puis corrigez-les dans le code.Let's walk through a few common user input errors, locate them in the debugger if they appear there, and fix them in the code.

Conseil

Pour plus d’informations sur le débogueur et son fonctionnement, consultez la page Premier aperçu du débogueur Visual Studio.For more information about the debugger and how it works, see the First look at the Visual Studio debugger page.

Corriger l’erreur de division par zéroFix the "divide by zero" error

Lorsque vous essayez de diviser un nombre par zéro, l’application console peut se figer, puis vous montrer ce qui est incorrect dans l’éditeur de code.When you try to divide a number by zero, the console app might freeze and then show you what's wrong in the code editor.

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

Notes

Parfois, l’application ne se bloque pas et le débogueur n’affiche pas d’erreur de division par zéro.Sometimes, the app doesn't freeze and the debugger won't show a divide-by-zero error. Au lieu de cela, l’application peut retourner un résultat non numérique inattendu, tel qu’un symbole infini.Instead, the app might return an unexpected nonnumeric result, such as an infinity symbol. Le correctif de code suivant s’applique toujours.The following code fix still applies.

Nous allons modifier le code pour gérer cette erreur.Let's change the code to handle this error.

  1. Supprimez le code qui s’affiche directement entre case "d": et le commentaire indiquant // Wait for the user to respond before closing.Delete the code that appears directly between case "d": and the comment that says // Wait for the user to respond before closing.

  2. Remplacez-le par le code suivant :Replace it with the following code:

             // 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.ToInt32(Console.ReadLine());
                 }
                 Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                 break;
         }
    

    Une fois que vous ajoutez le code, la section avec l’instruction switch doit ressembler à la capture d’écran suivante :After you add the code, the section with the switch statement should look similar to the following screenshot:

    La section « commutateur » modifiée dans l’éditeur de code Visual Studio

Maintenant, quand vous divisez n’importe quel nombre par zéro, l’application vous demande un autre nombre.Now, when you divide any number by zero, the app will ask for another number. Mieux encore : il ne s’arrête pas de demander tant que vous n’avez pas fourni un nombre autre que zéro.Even better: It won't stop asking until you provide a number other than zero.

Capture d’écran de l’éditeur de code Visual Studio montrant le code de l’instruction switch avec la vérification de l’entrée d’un diviseur non nul ajouté.

Corriger l’erreur de « format »Fix the "format" error

Si vous entrez un caractère alphabétique lorsque l’application attend un caractère numérique (ou vice versa), l’application de console se bloque.If you enter an alpha character when the app expects a numeric character (or vice versa), the console app freezes. Visual Studio vous montre alors ce qui est incorrect dans l’éditeur de code.Visual Studio then shows you what's wrong in the code editor.

L’éditeur de code Visual Studio affiche une erreur de format

Pour corriger cette erreur, nous devons refactoriser le code que nous avons précédemment entré.To fix this error, we must refactor the code that we've previously entered.

Réviser le codeRevise the code

Plutôt que de nous appuyer sur la classe program pour gérer tout le code, nous allons diviser notre application de deux classes : Calculator et Program.Rather than rely on the program class to handle all the code, we'll divide our app into two classes: Calculator and Program.

La classe Calculator gérera le gros du travail de calcul et la classe Program gèrera l’interface utilisateur et le travail de capture d’erreur.The Calculator class will handle the bulk of the calculation work, and the Program class will handle the user interface and error-capturing work.

C’est parti !Let's get started.

  1. Supprimez tout ce qui se trouve dans l' Calculator espace de noms entre ses accolades ouvrantes et fermantes :Delete everything in the Calculator namespace between its opening and closing braces:

    using System;
    
    namespace Calculator
    {
    
    }
    
  2. Ensuite, ajoutez une nouvelle classe Calculator, comme suit :Next, add a new Calculator class, as follows:

    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;
        }
    }
    
    
  3. Puis, ajoutez une nouvelle classe Program, comme suit :Then, add a new Program class, as follows:

    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 an integer 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 an integer 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;
        }
    }
    
  4. Cliquez sur Calculator pour exécuter votre programme, ou appuyez sur F5.Choose Calculator to run your program, or press F5.

  5. Suivez les invites et divisez le nombre 42 par le nombre 119.Follow the prompts and divide the number 42 by the number 119. Votre application doit ressembler à la capture d’écran suivante :Your app should look similar to the following screenshot:

    Fenêtre de console montrant l’application Calculator refactorisée qui comprend des invites sur les actions à entreprendre et la gestion des erreurs pour les entrées incorrectes

    Notez que vous avez la possibilité d’entrer plus d’équations jusqu'à ce que vous choisissiez de fermer l’application de console.Notice that you have the option to enter more equations until you choose to close the console app. Et nous avons également réduit le nombre de décimales dans le résultat.And, we've also reduced the number of decimal places in the result.

Fermer l’applicationClose the app

  1. Si ce n’est déjà fait, fermez l’application de calculatrice.If you haven't already done so, close the calculator app.

  2. Fermez le volet de sortie dans Visual Studio.Close the Output pane in Visual Studio.

    Fermer le volet Sortie dans Visual Studio

  3. Dans Visual Studio, appuyez sur CTRL + S pour enregistrer votre application.In Visual Studio, press Ctrl+S to save your app.

  4. Fermez Visual Studio.Close Visual Studio.

Code terminéCode complete

Durant ce tutoriel, nous avons apporté de nombreux changements à l’application de calculatrice.During this tutorial, we've made a lot of changes to the calculator app. L’application gère désormais plus efficacement les ressources de calcul, ainsi que la plupart des erreurs d’entrée utilisateur.The app now handles computing resources more efficiently, and it handles most user input errors.

Voici le code complet, au même endroit :Here's the complete code, all in one place:


using System;

namespace Calculator
{
    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 an integer 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 an integer 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;
        }
    }
}

Étapes suivantesNext steps

Poursuivez avec d’autres didacticiels :Continue with more tutorials:

Passez à la deuxième partie de ce didacticiel :Continue with the second part of this tutorial:

Voir aussiSee also