Sdílet prostřednictvím


Kurz: Vytvoření jednoduché konzolové aplikace v jazyce C# v sadě Visual Studio (část 1 ze 2)

V tomto kurzu pomocí sady Visual Studio vytvoříte a spustíte konzolovou aplikaci jazyka C# a prozkoumáte některé funkce integrovaného vývojového prostředí (IDE) sady Visual Studio. Tento kurz je 1. částí dvoudílné série kurzů.

V tomto kurzu provedete následující úlohy:

  • Vytvořte projekt sady Visual Studio.
  • Vytvořte konzolovou aplikaci jazyka C#.
  • Ladění aplikace
  • Zavřete aplikaci.
  • Zkontrolujte celý kód.

V části 2 rozšíříte tuto aplikaci o další projekty, naučíte se ladění triků a odkazujete na balíčky třetích stran.

Požadavky

Musíte mít nainstalovanou sadu Visual Studio.

Pokud jste visual Studio ještě nenainstalovali, přejděte na stránku pro stažení sady Visual Studio a nainstalujte ji zdarma.

Vytvoření projektu

Začněte vytvořením projektu aplikace v jazyce C#. Typ projektu obsahuje všechny soubory šablony, které potřebujete.

  1. Otevřete Visual Studio a v okně Start vyberte Vytvořit nový projekt .

    Screenshot that shows the Create a new project window.

  2. V okně Vytvořit nový projekt zvolte v seznamu Jazyků jazyk C#. Potom ze seznamu typů projektů a konzoly ze seznamu typů projektů zvolte Windows.

    Po použití filtrů jazyka, platformy a typu projektu zvolte šablonu konzolové aplikace a pak vyberte Další.

    Poznámka:

    Pokud šablonu konzolové aplikace nevidíte, vyberte Nainstalovat další nástroje a funkce.

    Screenshot that shows the Install more tools and features link.

    V Instalační program pro Visual Studio vyberte úlohu vývoje pro různé platformy .NET Core.

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

    V Instalační program pro Visual Studio vyberte Upravit. Může se zobrazit výzva k uložení práce. Výběrem možnosti Pokračovat nainstalujte úlohu.

    Vraťte se ke kroku 2 v tomto postupu Vytvoření projektu.

  3. V okně Konfigurovat nový projekt zadejte nebo zadejte kalkulačkudo pole Název projektu. Pak vyberte Další.

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

  4. V okně Další informace ověřte, že se v poli Cílová architektura zobrazí .NET Core 3.1. Potom vyberte Vytvořit.

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

Visual Studio otevře nový projekt, který obsahuje výchozí kód Hello World. Pokud ho chcete zobrazit v editoru, vyberte soubor kódu Program.cs v okně Průzkumník řešení, který je obvykle na pravé straně sady Visual Studio.

Výchozí kód "Hello World" volá metodu WriteLine pro zobrazení literálového řetězce "Hello, World!" v okně konzoly. Pokud stisknete klávesu F5, můžete spustit výchozí program v režimu ladění. Po spuštění aplikace v ladicím programu zůstane okno konzoly otevřené. Stisknutím libovolné klávesy okno konzoly zavřete.

  1. Otevřete Visual Studio a v okně Start vyberte Vytvořit nový projekt .

    Screenshot that shows the Create a new project window.

  2. V okně Vytvořit nový projekt vyberte Všechny jazyky a pak v rozevíracím seznamu zvolte C# . Ze seznamu Všechny platformy zvolte Windowsa v seznamu Všechny typy projektů zvolte Konzola.

    Po použití filtrů jazyka, platformy a typu projektu zvolte šablonu konzolové aplikace a pak vyberte Další.

    Poznámka:

    Pokud šablonu konzolové aplikace nevidíte, vyberte Nainstalovat další nástroje a funkce.

    Screenshot that shows the Install more tools and features link.

    V Instalační program pro Visual Studio vyberte úlohu vývoje desktopových aplikací .NET.

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

    V Instalační program pro Visual Studio vyberte Upravit. Může se zobrazit výzva k uložení práce. Výběrem možnosti Pokračovat nainstalujte úlohu.

    Vraťte se ke kroku 2 v tomto postupu Vytvoření projektu.

  3. V okně Konfigurovat nový projekt zadejte nebo zadejte kalkulačkudo pole Název projektu a pak vyberte Další.

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

  4. V okně Další informace vyberte .NET 8.0 pro pole Target Framework. Potom vyberte Vytvořit.

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

Visual Studio otevře nový projekt, který obsahuje výchozí kód Hello World. Pokud ho chcete zobrazit v editoru, vyberte soubor kódu Program.cs v okně Průzkumník řešení, který je obvykle na pravé straně sady Visual Studio.

Jeden příkaz kódu volá metodu WriteLine k zobrazení literálového řetězce "Hello, World!" v okně konzoly. Pokud stisknete klávesu F5, můžete spustit výchozí program v režimu ladění. Po spuštění aplikace v ladicím programu zůstane okno konzoly otevřené. Stisknutím libovolné klávesy okno konzoly zavřete.

Poznámka:

Od .NET 6 vygenerují nové projekty pomocí šablony konzoly jiný kód než předchozí verze. Další informace najdete na stránce Nové šablony jazyka C#, které generují příkazy nejvyšší úrovně.

Vytvoření aplikace

V této části dokončíte následující úlohy:

  • Prozkoumejte základní celočíselnou matematiku v jazyce C#.
  • Přidejte kód pro vytvoření základní aplikace kalkulačky.
  • Laděním aplikace vyhledejte a opravte chyby.
  • Zpřesněte kód, aby byl efektivnější.

Seznámení s matematikou celých čísel

Začněte základní celočíselnou matematikou v jazyce C#.

  1. V editoru kódu odstraňte výchozí kód Hello World.

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

    Konkrétně odstraňte řádek, který říká , Console.WriteLine("Hello World!");.

  2. Na svém místě zadejte následující kód:

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

    Všimněte si, že když zadáte kód, nabízí funkce IntelliSense v sadě Visual Studio možnost automatického dokončování položky.

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

  3. Výběrem zeleného tlačítka Start vedle kalkulačky sestavte a spusťte program nebo stiskněte klávesu F5.

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

    Otevře se okno konzoly, které zobrazí součet 42 + 119, což je 161.

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

  4. (Volitelné) Pokud chcete změnit výsledek, můžete změnit operátor. Operátor v int c = a + b; řádku kódu můžete například změnit + na - odčítání, * násobení nebo / dělení. Když pak program spustíte, výsledek se také změní.

  5. Zavřete okno konzoly.

  1. V Průzkumník řešení v pravém podokně vyberte Program.cs, aby se soubor zobrazil v editoru kódu.

  2. V editoru kódu nahraďte výchozí kód "Hello World", který říká Console.WriteLine("Hello World!");.

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

    Řádek nahraďte následujícím kódem:

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

    Pokud zadáte kód, nabízí funkce IntelliSense sady Visual Studio možnost automatického dokončování položky.

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

  3. Pokud chcete sestavit a spustit aplikaci, stiskněte klávesu F5 nebo vyberte zelenou šipku vedle názvu Kalkulačka na horním panelu nástrojů.

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

    Otevře se okno konzoly se součtem 42 + 119, což je 161.

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

  4. Zavřete okno konzoly.

  5. Volitelně můžete změnit operátor tak, aby změnil výsledek. Operátor v int c = a + b; řádku kódu můžete například změnit + na - odčítání, * násobení nebo / dělení. Když aplikaci spustíte, výsledek se odpovídajícím způsobem změní.

Přidání kódu pro vytvoření kalkulačky

Pokračujte přidáním složitější sady kódu kalkulačky do projektu.

  1. V editoru kódu nahraďte veškerý kód v Program.cs následujícím novým kódem:

        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. Vyberte tlačítko Kalkulačka nebo stisknutím klávesy F5 spusťte aplikaci.

    Otevře se okno konzoly.

  3. V okně konzoly postupujte podle pokynů a sečtěte čísla 42 a 119 dohromady.

    Aplikace by měla vypadat podobně jako na následujícím snímku obrazovky:

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

  1. V editoru kódu nahraďte veškerý kód v Program.cs následujícím novým kódem:

        // 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. Vyberte tlačítko Kalkulačka nebo stisknutím klávesy F5 spusťte aplikaci.

    Otevře se okno konzoly.

  3. V okně konzoly postupujte podle pokynů a sečtěte čísla 42 a 119 dohromady.

    Aplikace by měla vypadat podobně jako na následujícím snímku obrazovky:

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

Přidání desetinných míst

Teď kód upravte a přidejte další funkce.

Aktuální aplikace kalkulačky přijímá a vrací pouze celá čísla. Pokud například spustíte aplikaci a vydělíte číslo 42 číslem 119, bude výsledkem nula, což není přesné.

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

Oprava kódu pro zlepšení přesnosti zpracováním desetinných míst:

  1. Z Program.cs v editoru sady Visual Studio otevřete stisknutím kláves Ctrl+H ovládací prvek Najít a nahradit.

  2. Do ovládacího prvku zadejte hodnotu int a do pole Nahradit zadejte hodnotu float.

  3. Vyberte ikony pro rozlišovat velká a malá písmena a v ovládacím prvku vyberte celé slovo nebo stiskněte Alt +C a Alt+W.

  4. Vyberte ikonu Nahradit vše nebo stisknutím klávesy Alt+A spusťte hledání a nahraďte ho.

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

  5. Spusťte aplikaci kalkulačky znovu a vydělte číslo 42 číslem 119.

    Aplikace teď místo nuly vrátí desetinné číslo.

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

    Aplikace teď může vytvořit desetinné číslo. Proveďte několik dalších úprav kódu, aby aplikace také mohl vypočítat desetinné čárky.

  6. Pomocí Find a Replace ovládací prvek změnit každou instanci float proměnné na double, a změnit každou instanci Convert.ToInt32 metody na Convert.ToDouble.

  7. Spusťte aplikaci kalkulačky a vydělte číslo 42,5 číslem 119,75.

    Aplikace teď přijímá desetinné hodnoty a jako výsledek vrátí delší desetinnou číslici.

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

    V části Revize kódu zmenšete počet desetinných míst ve výsledcích.

Ladění aplikace

Vylepšili jste základní aplikaci kalkulačky, ale vaše aplikace ještě nezpracuje výjimky, jako jsou chyby uživatelského vstupu. Pokud se například uživatelé pokusí dělit nulou nebo zadají neočekávaný znak, může aplikace přestat fungovat, vrátit chybu nebo vrátit neočekávaný nečíselný výsledek.

Pojďme si projít několik běžných chyb uživatelského vstupu, vyhledat je v ladicím programu, pokud se tam objeví, a opravit je v kódu.

Tip

Další informace o ladicím programu a jeho fungování najdete v tématu První seznámení s ladicím programem sady Visual Studio.

Oprava chyby "dělit nulou"

Pokud se pokusíte vydělit číslo nulou, aplikace konzoly se může ukotvit a pak vám ukáže, co je v editoru kódu špatně.

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

Poznámka:

Někdy se aplikace neukotvuje a ladicí program nezobrazuje chybu dělení nulou. Místo toho může aplikace vrátit neočekávaný nečíselný výsledek, například symbol nekonečna. Stále platí následující oprava kódu.

Pojďme změnit kód pro zpracování této chyby. V Program.cs nahraďte kód case "d": následujícím kódem:

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

Po nahrazení kódu by část s příkazem switch měla vypadat podobně jako na následujícím snímku obrazovky:

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

Když teď vydělíte jakékoli číslo nulou, aplikace požádá o další číslo a bude se ptát, dokud nezadáte nenulové číslo.

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

Oprava chyby formát

Pokud zadáte abecední znak, když aplikace očekává číselný znak, aplikace se zablokuje. Visual Studio vám ukáže, co je v editoru kódu špatně.

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

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

Pokud chcete této výjimce zabránit, můžete refaktorovat kód, který jste zadali dříve.

Revize kódu

Místo toho, aby třída zpracovávala program veškerý kód, můžete aplikaci rozdělit do dvou tříd: Calculator a Program.

Třída Calculator zpracovává hromadnou práci výpočtu a Program třída zpracovává uživatelské rozhraní a práci při zpracování chyb.

Pojďme na to.

  1. V Program.cs odstraňte vše a přidejte následující novou Calculator třídu:

    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. Přidejte také novou Program třídu následujícím způsobem:

    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. Vyberte tlačítko Kalkulačka nebo stisknutím klávesy F5 spusťte aplikaci.

  4. Postupujte podle pokynů a vydělte číslo 42 číslem 119. Výsledky by měly vypadat podobně jako na následujícím snímku obrazovky:

    Screenshot showing a Console window with the refactored Calculator app.

    Screenshot showing a Console window with the refactored Calculator app.

    Teď můžete spouštět další výpočty, dokud se nerozhodnete zavřít konzolovou aplikaci. Ve výsledcích je také méně desetinných míst. A pokud zadáte nesprávný znak, zobrazí se příslušná chybová odpověď.

Uzavření aplikace

  1. Pokud jste to ještě neudělali, zavřete aplikaci Kalkulačka.

  2. Zavřete podokno Výstup v sadě Visual Studio.

    Screenshot that shows closing the Output pane in Visual Studio.

  3. V sadě Visual Studio uložte aplikaci stisknutím kláves Ctrl+S.

Přidání správy zdrojového kódu Gitu

Teď, když jste vytvořili aplikaci, můžete ji přidat do úložiště Git. Visual Studio usnadňuje tento proces pomocí nástrojů Gitu, které můžete použít přímo z integrovaného vývojového prostředí (IDE).

Tip

Git je nejčastěji používaný moderní systém správy verzí, takže ať už jste profesionální vývojář nebo se učíte kódovat, Git může být velmi užitečný. Pokud s Gitem začínáte, https://git-scm.com/ je web dobrým místem, kde začít. Tam můžete najít taháky, oblíbenou online knihu a videa základy Gitu.

Pokud chcete kód přidružit k Gitu, začněte vytvořením nového úložiště Git, ve kterém se váš kód nachází:

  1. Na stavovém řádku v pravém dolním rohu sady Visual Studio vyberte Přidat do správy zdrojového kódu a pak vyberte Git.

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

  2. V dialogovém okně Vytvořit úložiště Git se přihlaste k GitHubu.

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

    Název úložiště se automaticky naplní na základě umístění vaší složky. Vaše nové úložiště je ve výchozím nastavení soukromé, což znamená, že jste jediný, kdo k němu má přístup.

    Tip

    Bez ohledu na to, jestli je vaše úložiště veřejné nebo soukromé, je nejlepší mít bezpečně uložené vzdálené zálohování kódu na GitHubu. I když nepracujete s týmem, vzdálené úložiště vám zpřístupní váš kód z libovolného počítače.

  3. Vyberte Vytvořit a nasdílení změn.

    Po vytvoření úložiště se na stavovém řádku zobrazí podrobnosti o stavu.

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

    První ikona se šipkami ukazuje, kolik odchozích a příchozích potvrzení je ve vaší aktuální větvi. Pomocí této ikony můžete vyžádat příchozí potvrzení nebo odeslat odchozí potvrzení. Můžete se také rozhodnout, že se budou tyto potvrzení zobrazovat jako první. Uděláte to tak, že vyberete ikonu a pak vyberete Zobrazit odchozí/příchozí poštu.

    Druhá ikona s tužkou zobrazuje počet nepotvrzených změn kódu. Tuto ikonu můžete vybrat, pokud chcete tyto změny zobrazit v okně Změny Gitu.

Další informace o používání Gitu s vaší aplikací najdete v dokumentaci ke správě verzí sady Visual Studio.

Revize: Kód je dokončený.

V tomto kurzu jste provedli mnoho změn v aplikaci Kalkulačka. Aplikace teď zpracovává výpočetní prostředky efektivněji a zpracovává většinu chyb uživatelského vstupu.

Tady je kompletní kód, a to vše na jednom místě:


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

Další kroky

Pokračujte druhou částí tohoto kurzu: