Partager via


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

Dans ce tutoriel, vous utilisez Visual Studio afin de créer et d’exécuter une application console C#, et vous explorez certaines fonctionnalités de l’environnement de développement intégré (IDE) Visual Studio. Ce tutoriel est la première partie d’une série de tutoriel en deux parties.

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

  • Créez un projet Visual Studio.
  • Créez une application console C#.
  • Déboguez 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.

Prérequis

Visual Studio doit être installé sur votre machine.

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

Création d’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 et sélectionnez Créer un projet dans la fenêtre de démarrage.

    Screenshot that shows the Create a new project window.

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

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

    Notes

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

    Screenshot that shows the Install more tools and features link.

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

    Screenshot showing the .NET Core cross-platform development workload in the 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 de la 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, cliquez sur Suivant.

    Screenshot that shows how to name your project 'Calculator' in the 'Configure your new project' window in 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 Create (Créer).

    Screenshot of the Additional information window in Visual Studio showing .NET Core 3.1 as the target framework for the new project.

Visual Studio ouvre votre nouveau projet, qui inclut le code de « Hello World » par défaut. Pour l’afficher dans l’éditeur, sélectionnez le fichier de code Program.cs dans la fenêtre de l’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 une touche pour fermer la fenêtre de console.

  1. Ouvrez Visual Studio et sélectionnez Créer un projet dans la fenêtre de démarrage.

    Screenshot that shows the Create a new project window.

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

    Après avoir appliqué les filtres de langue, de plateforme et de type de projet, choisissez le modèle d’application console, puis sélectionnez Suivant.

    Notes

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

    Screenshot that shows the Install more tools and features link.

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

    Screenshot showing the .NET desktop development workload in the 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 de la 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.

    Screenshot that shows how to name your project 'Calculator' in the 'Configure your new project' window in Visual Studio.

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

    Screenshot of the Additional information window in Visual Studio showing .NET 8.0 selected as the target framework for the new project.

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

L’unique instruction de code 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 une touche pour fermer la fenêtre de console.

Notes

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

Créer l’application

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

  • Découvrez certaines notions mathématiques de base relatives aux entiers en C#.
  • Ajoutez du code pour créer une application de calculatrice de base.
  • Déboguez l’application pour trouver et corriger les erreurs.
  • Affinez le code pour le rendre plus efficace.

Explorer les mathématiques avec des entiers

Commencez par certaines notions mathématiques de base relatives aux entiers en C#.

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

    Screenshot that shows deleting the default Hello World code from your new calculator app.

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

  2. À la place, entrez le code suivant :

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

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

    Animation of integer math code that shows the IntelliSense autocomplete feature in the Visual Studio IDE.

  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.

    Screenshot that shows choosing the Calculator button to run the app from the toolbar.

    Une fenêtre de console s’ouvre en affichant la somme de 42 + 119, c’est-à-dire 161.

    Screenshot that shows a console window with the results of integer math.

  4. (Facultatif) Vous pouvez changer d’opérateur pour modifier le résultat. 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. Ensuite, quand vous exécutez le programme, le résultat change également.

  5. Fermez la fenêtre de console.

  1. Dans l’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!");.

    Screenshot that shows the line to replace in the program file.

    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é IntelliSense de Visual Studio vous offre la possibilité de saisir automatiquement l’entrée.

    Animation of integer math code that shows the IntelliSense autocomplete feature in the Visual Studio IDE.

  3. Pour générer et exécuter votre application, appuyez sur F5ou sélectionnez la flèche verte à côté du Calculatrice dans la barre d’outils supérieure.

    Screenshot that showing selecting the Calculator button to run the app from the Debug toolbar.

    Une fenêtre de console s’ouvre en montrant la somme de 42 + 119, c’est-à-dire 161.

    Screenshot of a Console window showing the results of integer math.

  4. Fermez la fenêtre de console.

  5. Vous pouvez éventuellement changer l’opérateur pour modifier le résultat. 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. 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 invites pour ajouter les nombres 42 et 119 ensemble.

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

    Screenshot of a Console window showing the Calculator app with prompts.

  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 F5 pour exécuter votre application.

    Une fenêtre de console s'ouvre.

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

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

    Screenshot of a Console window showing the Calculator app with prompts.

Ajoutez des fonctionnalités décimales

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

L’application calculatrice actuelle n’accepte et ne renvoie que 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.

Screenshot of a Console window that shows the Calculator app returning an inexact whole number as a result.

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 of the Find and Replace control showing how to change the int variable to float.

  5. Exécutez à nouveau votre application de calculatrice et divisez le nombre 42 par le nombre 119.

    L’application renvoie désormais un nombre décimal au lieu de zéro.

    Screenshot of a Console window showing the Calculator app that now returns a decimal numeral as a result.

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

  6. Utilisez le contrôle Rechercher et remplacer pour remplacer chaque instance de la variable float en double, et 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 renvoie un chiffre décimal plus long comme résultat.

    Screenshot of a Console window showing the Calculator app that now accepts decimal numbers and returns a longer decimal result.

    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é l’application de votre 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, il est possible que l’application cesse de fonctionner, renvoyer une erreur ou un résultat non numérique inattendu.

Passons en revue quelques erreurs d’entrée utilisateur courantes, localisons-les dans le débogueur si elles y apparaissent, et corrigeons-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.

Corriger l’erreur de division par zéro

Si vous essayez de diviser un nombre par zéro, l’application console peut se figer, puis vous montrer ce qui ne va pas dans l’éditeur de code.

Screenshot of the Visual Studio code editor showing a line highlighted in yellow and an Exception Unhandled error for 'Attempted to divide by zero'.

Note

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

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

Screenshot showing the revised switch section in the Visual Studio code editor.

Maintenant, lorsque vous divisez un nombre quelconque par zéro, l’application demande un autre nombre et continue de le demander jusqu’à ce que vous fournissiez un nombre non nul.

Screenshot of a Console window with a repeated prompt to provide a nonzero number.

Corriger l’erreur de « 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.

Screenshot showing an unhandled format error in the Visual Studio code editor.

Screenshot showing an unhandled format error in the Visual Studio code editor.

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

Réviser le code

Plutôt que de vous appuyer sur la classe program pour gérer tout le code, vous pouvez diviser notre application de 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 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;
        }
    }
    
  3. Sélectionnez le bouton Calculatrice ou appuyez sur F5 pour exécuter votre application.

  4. Suivez les invites et divisez le nombre 42 par le nombre 119. Vos résultats devraient ressembler à la capture d'écran suivante :

    Screenshot showing a Console window with the refactored Calculator app.

    Screenshot showing a Console window with the refactored Calculator app.

    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.

    Screenshot that shows closing the Output pane in 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 avez créé 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 étant le système de gestion 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 y trouverez des aide-mémoire, un livre en ligne populaire et des vidéos Git Basics pour acquérir les bases de Git.

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 en bas à droite de Visual Studio, sélectionnez Ajouter au contrôle de code source, puis sélectionnez Git.

    Screenshot of the Git source control buttons below the Solution Explorer pane, with the Add to Source Control button highlighted.

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

    Screenshot of the Create a Git Repository dialog window where you can sign in to GitHub.

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

    Conseil

    Que votre dépôt 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 dépôt distant rend votre code disponible à partir de n’importe quel ordinateur.

  3. Sélectionnez Créer et faire un push.

    Après avoir créé votre dépôt, vous voyez les détails de l’état dans la barre d’état.

    Screenshot of the repo status bar that's below the Solution Explorer pane in Visual Studio.

    La première icône avec les flèches indique le nombre de commits sortants/entrants dans votre branche actuelle. Vous pouvez utiliser cette icône pour extraire les commits entrants ou envoyer (push) des commits sortants. Vous pouvez également choisir d’afficher ces commits en premier. Pour ce faire, sélectionnez l’icône, puis choisissez View Outgoing/Incoming (Afficher les éléments entrants/sortants).

    La deuxième icône avec le crayon indique le nombre de modifications non validées apportées à votre code. Vous pouvez sélectionner cette icône pour afficher ces modifications dans la fenêtre Modifications Git.

Pour en savoir plus sur l’utilisation de Git avec votre application, consultez la documentation relative au contrôle de version de 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 de calcul, et traite la plupart des erreurs de saisie des utilisateurs.

Voici le code complet, au même 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 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 suivantes

Poursuivez avec la deuxième partie de ce tutoriel :