Esercitazione: Creare una semplice app console C# in Visual Studio (parte 1 di 2)

In questa esercitazione si usa Visual Studio per creare ed eseguire un'app console C# ed esplorare alcune funzionalità dell'ambiente di sviluppo integrato (IDE) di Visual Studio. Questa esercitazione è la parte 1 di una serie di esercitazioni in due parti.

In questa esercitazione si completano le attività seguenti:

  • Creare un progetto di Visual Studio.
  • Creare un'app console C#.
  • Eseguire il debug dell'app.
  • Chiudere l'app.
  • Esaminare il codice completo.

Nella parte 2 estendere questa app per aggiungere altri progetti, apprendere i trucchi di debug e fare riferimento a pacchetti di terze parti.

Prerequisiti

È necessario aver installato Visual Studio.

Se non è ancora stato installato Visual Studio, accedere alla pagina Download di Visual Studio per installarlo gratuitamente.

Creare un progetto

Per iniziare, creare un progetto di applicazione C#. Il tipo di progetto include tutti i file modello necessari.

  1. Aprire Visual Studio e selezionare Crea un nuovo progetto nella finestra Start.

    Screenshot that shows the Create a new project window.

  2. Nella finestra Crea un nuovo progetto scegliere C# dall'elenco Linguaggio. Scegliere quindi Windows dall'elenco Piattaforma e Console dall'elenco dei tipi di progetto.

    Dopo aver applicato i filtri lingua, piattaforma e tipo di progetto, scegliere il modello Applicazione console e quindi selezionare Avanti.

    Nota

    Se il modello applicazione console non è visualizzato, selezionare Installa altri strumenti e funzionalità.

    Screenshot that shows the Install more tools and features link.

    Nella Programma di installazione di Visual Studio selezionare il carico di lavoro sviluppo multipiattaforma .NET Core.

    Screenshot showing the .NET Core cross-platform development workload in the Visual Studio Installer.

    Selezionare Modifica nel Programma di installazione di Visual Studio. Potrebbe essere richiesto di salvare il lavoro. Selezionare Continua per installare il carico di lavoro.

    Tornare al passaggio 2 della procedura "Creare un progetto".

  3. Nella finestra Configura il nuovo progetto digitare o immettere Calculator nella casella Nome del progetto. Quindi seleziona Avanti.

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

  4. Nella finestra Informazioni aggiuntive verificare che .NET Core 3.1 sia visualizzato nel campo Framework di destinazione. Quindi, selezionare Crea.

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

Visual Studio aprirà il nuovo progetto che include il codice "Hello World" predefinito. Per visualizzarlo nell'editor, selezionare il file di codice Program.cs nella finestra Esplora soluzioni, che in genere si trova sul lato destro di Visual Studio.

Il codice "Hello World" predefinito chiama il WriteLine metodo per visualizzare la stringa letterale "Hello, World!" nella finestra della console. Se si preme F5, è possibile eseguire il programma predefinito in modalità debug. Dopo l'esecuzione dell'applicazione nel debugger, la finestra della console rimane aperta. Premere un tasto per chiudere la finestra della console.

  1. Aprire Visual Studio e selezionare Crea un nuovo progetto nella finestra Start.

    Screenshot that shows the Create a new project window.

  2. Nella finestra Crea un nuovo progetto selezionare Tutti i linguaggi e quindi scegliere C# dall'elenco a discesa. Scegliere Windows dall'elenco Tutte le piattaforme e scegliere Console dall'elenco Tutti i tipi di progetto.

    Dopo aver applicato i filtri lingua, piattaforma e tipo di progetto, scegliere il modello App console e quindi selezionare Avanti.

    Nota

    Se non viene visualizzato il modello App console, selezionare Installa altri strumenti e funzionalità.

    Screenshot that shows the Install more tools and features link.

    Nella Programma di installazione di Visual Studio selezionare il carico di lavoro Sviluppo di applicazioni desktop .NET.

    Screenshot showing the .NET desktop development workload in the Visual Studio Installer.

    Selezionare Modifica nel Programma di installazione di Visual Studio. Potrebbe essere richiesto di salvare il lavoro. Selezionare Continua per installare il carico di lavoro.

    Tornare al passaggio 2 della procedura "Creare un progetto".

  3. Nella finestra Configura il nuovo progetto digitare o immettere Calculator nella casella Nome progetto e quindi selezionare Avanti.

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

  4. Nella finestra Informazioni aggiuntive selezionare .NET 8.0 per il campo Framework di destinazione. Quindi, selezionare Crea.

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

Visual Studio aprirà il nuovo progetto che include il codice "Hello World" predefinito. Per visualizzarlo nell'editor, selezionare il file di codice Program.cs nella finestra Esplora soluzioni, che in genere si trova sul lato destro di Visual Studio.

La singola istruzione di codice chiama il WriteLine metodo per visualizzare la stringa letterale "Hello, World!" nella finestra della console. Se si preme F5, è possibile eseguire il programma predefinito in modalità debug. Dopo l'esecuzione dell'applicazione nel debugger, la finestra della console rimane aperta. Premere un tasto per chiudere la finestra della console.

Nota

A partire da .NET 6, i nuovi progetti che usano il modello di console generano codice diverso rispetto alle versioni precedenti. Per altre informazioni, vedere la pagina Nuovi modelli C# per generare istruzioni di primo livello.

Creare l'app

In questa sezione vengono completate le attività seguenti:

  • Esplorare alcuni calcoli matematici integer di base in C#.
  • Aggiungere codice per creare un'app calcolatrice di base.
  • Eseguire il debug dell'app per trovare e correggere gli errori.
  • Perfezionare il codice per renderlo più efficiente.

Esplorare le operazioni matematiche su interi

Iniziare con alcuni calcoli matematici integer di base in C#.

  1. Nell'editor del codice, eliminare il codice "Hello World" predefinito.

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

    In particolare, eliminare la riga con la dicitura Console.WriteLine("Hello World!");.

  2. Al suo posto immettere il codice seguente:

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

    Si noti che quando si immette il codice, la funzionalità IntelliSense in Visual Studio offre la possibilità di completare automaticamente la voce.

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

  3. Selezionare il pulsante verde Start accanto a Calculator per compilare ed eseguire il programma oppure premere F5.

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

    Si aprirà una finestra della console che visualizza la somma di 42 + 119., vale a dire 161.

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

  4. (Facoltativo) È possibile modificare l'operatore per modificare il risultato. Nella riga di codice int c = a + b; è ad esempio possibile modificare l'operatore + in - per la sottrazione, * per la moltiplicazione o / per la divisione. A questo punto, quando il programma sarà eseguito, il risultato cambierà.

  5. Chiudere la finestra della console.

  1. Nel riquadro di destra Esplora soluzioni selezionare Program.cs per visualizzare il file nell'editor di codice

  2. Nell'editor di codice sostituire il codice "Hello World" predefinito che indica Console.WriteLine("Hello World!");.

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

    Sostituire la riga con il codice seguente:

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

    Se si immette il codice, la funzionalità IntelliSense di Visual Studio offre la possibilità di completare automaticamente la voce.

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

  3. Per compilare ed eseguire l'app, premere F5 o selezionare la freccia verde accanto al nome Calcolatrice nella barra degli strumenti superiore.

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

    Viene visualizzata una finestra della console che mostra la somma di 42 + 119, ovvero 161.

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

  4. Chiudere la finestra della console.

  5. Facoltativamente, è possibile modificare l'operatore per modificare il risultato. Nella riga di codice int c = a + b; è ad esempio possibile modificare l'operatore + in - per la sottrazione, * per la moltiplicazione o / per la divisione. Quando si esegue l'app, il risultato cambia di conseguenza.

Aggiungere codice per creare un'app di calcolo

Continuare aggiungendo un set di codice calcolatore più complesso al progetto.

  1. Nell'editor di codice sostituire tutto il codice in Program.cs con il nuovo codice seguente:

        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. Selezionare il pulsante Calcolatrice o premere F5 per eseguire l'app.

    Viene visualizzata una finestra della console.

  3. Nella finestra della console seguire le istruzioni per aggiungere i numeri 42 e 119 insieme.

    L'app avrà un aspetto simile allo screenshot seguente:

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

  1. Nell'editor di codice sostituire tutto il codice in Program.cs con il nuovo codice seguente:

        // 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. Selezionare il pulsante Calcolatrice o premere F5 per eseguire l'app.

    Viene visualizzata una finestra della console.

  3. Nella finestra della console seguire le istruzioni per aggiungere i numeri 42 e 119 insieme.

    L'app avrà un aspetto simile allo screenshot seguente:

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

Aggiungere funzionalità decimali

A questo punto, modificare il codice per aggiungere altre funzionalità.

L'app calcolatrice corrente accetta e restituisce solo numeri interi. Ad esempio, se si esegue l'app e si divide il numero 42 per il numero 119, il risultato è zero, che non è esatto.

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

Per correggere il codice per migliorare la precisione gestendo i decimali:

  1. Da Program.cs nell'editor di Visual Studio premere CTRL+H per aprire il controllo Trova e sostituisci.

  2. Digitare int nel controllo e digitare float nel campo Sostituisci .

  3. Selezionare le icone per Maiuscole/minuscole e Corrispondenza parola intera nel controllo oppure premere ALT+C e ALT+W.

  4. Selezionare l'icona Sostituisci tutto o premere ALT+A per eseguire la ricerca e sostituire.

    Animation of the Find and Replace control showing how to change the int variable to float.

  5. Eseguire di nuovo l'app calcolatrice e dividere il numero 42 per il numero 119.

    L'app restituisce ora un numero decimale anziché zero.

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

    Ora l'app può produrre risultati decimali. Apportare altre modifiche al codice in modo che l'app possa calcolare anche i decimali.

  6. Usare il controllo Trova e sostituisci per modificare ogni istanza della float variabile in doublee per modificare ogni istanza del Convert.ToInt32 metodo in Convert.ToDouble.

  7. Eseguire l'app calcolatrice e dividere il numero 42,5 per il numero 119,75.

    L'app accetta ora valori decimali e restituisce un numero decimale più lungo come risultato.

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

    Nella sezione Rivedi il codice si riduce il numero di posizioni decimali nei risultati.

Eseguire il debug dell'app

È stata migliorata l'app calcolatrice di base, ma l'app non gestisce ancora eccezioni, ad esempio errori di input dell'utente. Ad esempio, se gli utenti tentano di dividere per zero o immettere un carattere imprevisto, l'app potrebbe smettere di funzionare, restituire un errore o restituire un risultato non numerico imprevisto.

Verranno ora illustrati alcuni errori di input utente comuni, individuarli nel debugger, se visualizzati e correggerli nel codice.

Suggerimento

Per altre informazioni sul debugger e sul relativo funzionamento, vedere Prima di tutto il debugger di Visual Studio.

Correggere l'errore di divisione per zero

Se si tenta di dividere un numero per zero, l'app console potrebbe bloccarsi e quindi mostra cosa c'è di sbagliato nell'editor di codice.

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

Nota

A volte l'app non si blocca e il debugger non visualizza un errore di divisione per zero. L'app potrebbe invece restituire un risultato non numerico imprevisto, ad esempio un simbolo infinito. La correzione del codice seguente si applica ancora.

Ora il codice verrà modificato per gestire questo errore. In Program.cs sostituire il codice per case "d": con il codice seguente:

            // 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;
        }

Dopo aver sostituito il codice, la sezione con l'istruzione switch dovrebbe essere simile alla schermata seguente:

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

Ora, quando si divide un numero qualsiasi per zero, l'app chiede un altro numero e continua a chiedere finché non si specifica un numero diverso da zero.

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

Correggere l'errore di formato

Se si immette un carattere alfabetico quando l'app prevede un carattere numerico, l'app si blocca. Visual Studio mostra cosa c'è di sbagliato nell'editor di codice.

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

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

Per evitare questa eccezione, è possibile effettuare il refactoring del codice immesso in precedenza.

Rivedere il codice

Anziché basarsi sulla program classe per gestire tutto il codice, è possibile dividere l'app in due classi: Calculator e Program.

La Calculator classe gestisce la maggior parte del lavoro di calcolo e la classe gestisce l'interfaccia utente e il Program lavoro di gestione degli errori.

Iniziamo.

  1. In Program.cs eliminare tutti gli elementi e aggiungere la nuova Calculator classe seguente:

    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. Aggiungere anche una nuova Program classe, come indicato di seguito:

    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. Selezionare il pulsante Calcolatrice o premere F5 per eseguire l'app.

  4. Seguire le istruzioni e dividere il numero 42 per il numero 119. I risultati dovrebbero essere simili allo screenshot seguente:

    Screenshot showing a Console window with the refactored Calculator app.

    Screenshot showing a Console window with the refactored Calculator app.

    È ora possibile eseguire altri calcoli fino a quando non si sceglie di chiudere l'app console. Ci sono anche meno posizioni decimali nei risultati. Se si immette un carattere non corretto, si riceve una risposta di errore appropriata.

Chiudere l'app

  1. Se non è già stato fatto, chiudere l'app Calcolatrice.

  2. Chiudere il riquadro Output in Visual Studio.

    Screenshot that shows closing the Output pane in Visual Studio.

  3. In Visual Studio premere CTRL+S per salvare l'app.

Aggiungere il controllo del codice sorgente Git

Dopo aver creato un'app, è possibile aggiungerla a un repository Git. Visual Studio semplifica questo processo con gli strumenti Git che è possibile usare direttamente dall'IDE.

Suggerimento

Git è il sistema di controllo della versione più diffuso, quindi se si è uno sviluppatore professionista o si sta imparando a scrivere codice, Git può essere molto utile. Se non si ha familiarità con Git, il https://git-scm.com/ sito Web è un buon punto di partenza. Qui è possibile trovare fogli di trucco, un libro online popolare e video di Base su Git.

Per associare il codice a Git, iniziare creando un nuovo repository Git in cui si trova il codice:

  1. Nella barra di stato nell'angolo inferiore destro di Visual Studio selezionare Aggiungi al controllo del codice sorgente e quindi selezionare Git.

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

  2. Nella finestra di dialogo Crea un repository Git accedere a GitHub.

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

    Il nome del repository viene popolato automaticamente in base al percorso della cartella. Il nuovo repository è privato per impostazione predefinita, ovvero l'unico che può accedervi.

    Suggerimento

    Indipendentemente dal fatto che il repository sia pubblico o privato, è consigliabile disporre di un backup remoto del codice archiviato in modo sicuro in GitHub. Anche se non si lavora con un team, un repository remoto rende disponibile il codice da qualsiasi computer.

  3. Selezionare Crea ed esegui push.

    Dopo aver creato il repository, nella barra di stato vengono visualizzati i dettagli sullo stato.

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

    La prima icona con le frecce mostra il numero di commit in uscita/in ingresso nel ramo corrente. È possibile usare questa icona per eseguire il pull di tutti i commit in ingresso o eseguire il push di tutti i commit in uscita. È anche possibile scegliere di visualizzare prima questi commit. A tale scopo, selezionare l'icona e quindi selezionare Visualizza in uscita/In ingresso.

    La seconda icona con la matita mostra il numero di modifiche di cui non è stato eseguito il commit nel codice. È possibile selezionare questa icona per visualizzare le modifiche nella finestra Modifiche Git.

Per altre informazioni su come usare Git con l'app, vedere la documentazione sul controllo della versione di Visual Studio.

Revisione: Codice completato

In questa esercitazione sono state apportate molte modifiche all'app Calculator. L'app ora gestisce le risorse di calcolo in modo più efficiente e gestisce la maggior parte degli errori di input dell'utente.

Ecco il codice completo:


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;
    }
}

Passaggi successivi

Continuare con la seconda parte di questa esercitazione: