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

V tomto kurzu použijete Visual Studio a spustíte konzolovou aplikaci v jazyce C# a prozkoumáte některé funkce integrovaného vývojového Visual Studio (IDE). Tento kurz je první částí dvousekunové série kurzů.

V tomto kurzu jste:

  • Vytvořte Visual Studio projekt.
  • Vytvořte konzolovou aplikaci v jazyce C#.
  • Ladění aplikace
  • Zavřete aplikaci.
  • Prohlédněte si celý kód.

V části 2 tutoaplikaci rozšíříte o další projekty, naučíte se triky ladění a budete odkazovat na balíčky třetích stran.

Požadavky

Musíte mít nainstalované Visual Studio.

Pokud jste si ještě nenainstalujete Visual Studio, přejděte na stránku Visual Studio stahování a nainstalujte si ji zdarma.

Pokud jste si ještě nenainstalujete Visual Studio, přejděte na stránku Visual Studio stahování a nainstalujte si ji zdarma.

Vytvoření projektu

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

  1. Otevřete sadu Visual Studio 2017.

  2. V horním řádku nabídek zvolte Soubor > Nový > Project. (Případně stiskněte Ctrl. + Shift + N).

  3. V levém podokně dialogového okna Nový Project rozbalte C# a pak zvolte .NET Core. V prostředním podokně zvolte Konzolová aplikace (.NET Core). Pak soubor pojmnováte Calculator (Kalkulačka).

    Snímek obrazovky znázorňuje šablonu projektu Konzolová aplikace (.NET Core) v dialogovém Project Nový Visual Studio IDE

Přidání úlohy (volitelné)

Pokud šablonu projektu Konzolová aplikace (.NET Core) nevidíte, můžete ji získat přidáním úlohy vývoj pro různé platformy v .NET Core. Jak na to:

Možnost 1: Použití dialogového okna Project nový název

  1. V levém Instalační program pro Visual Studio dialogového okna Nový Project nový odkaz Otevřít.

    Snímek obrazovky, který znázorňuje Instalační program pro Visual Studio otevřít odkaz z dialogového okna Project nový název

  2. Spustí se instalační program pro Visual Studio. Zvolte úlohu vývoj pro různé platformy v .NET Core a pak zvolte Upravit.

    Snímek obrazovky znázorňuje úlohu vývoj pro různé platformy v .NET Core v Instalační program pro Visual Studio

Možnost 2: Použití řádku nabídek Nástroje

  1. Zrušte zaškrtnutí políčka Nový Project a v horním řádku nabídek zvolte Nástroje Získat nástroje a > funkce.

  2. Spustí se instalační program pro Visual Studio. Zvolte úlohu vývoj pro různé platformy v .NET Core a pak zvolte Upravit.

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

    Snímek obrazovky s oknem Vytvořit nový projekt

  2. V okně Vytvořit nový projekt zvolte v seznamu Jazyk možnost C#. V dalším kroku Windows ze seznamu Platforma a ze seznamu typů 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.

    Snímek obrazovky s odkazem Nainstalovat další nástroje a funkce

    Potom v části Instalační program pro Visual Studio úlohy vývoj pro různé platformy .NET Core.

    Snímek obrazovky znázorňující úlohu vývoje pro různé platformy v .NET Core v Instalační program pro Visual Studio

    Potom v okně klikněte na tlačítko Instalační program pro Visual Studio. Může se zobrazit výzva k uložení práce. Pokud ano, proveďte to. Potom zvolte Pokračovat a nainstalujte úlohu. Pak se vraťte ke kroku 2 v tétoproceduře "Vytvořeníprojektu".

  3. V okně Configure your new project (Konfigurace nového projektu) zadejte nebo zadejte Calculator do Project name (Název projektu). Pak zvolte Další.

    Snímek obrazovky znázorňuje pojmenování projektu Kalkulačka v okně Konfigurovat nový projekt

  4. V okně Další informace by už mělo být pro cílovou rozhraní vybrané rozhraní .NET Core 3.1. Pokud ne, vyberte .NET Core 3.1. Pak zvolte Vytvořit.

    Snímek obrazovky, který ukazuje, že je v okně Další informace vybraná možnost .NET Core 3.1

    Visual Studio nový projekt, který obsahuje výchozí kód "Hello World".

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

    Snímek obrazovky s oknem Vytvořit nový projekt

  2. V okně Vytvořit nový projekt vyberte Všechny jazyky a pak v rozevíracím seznamu zvolte C#. Zvolte Windows ze seznamu Všechny platformy a 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.

    Snímek obrazovky s odkazem Nainstalovat další nástroje a funkce

    V Instalační program pro Visual Studio úlohy Vývoj desktopových aplikací .NET a pak vyberte Upravit.

    Snímek obrazovky znázorňující úlohu vývoje desktopových aplikací .NET v Instalační program pro Visual Studio

  3. V okně Configure your new project (Konfigurovat nový projekt) zadejte nebo zadejte Calculator (Kalkulačka) do Project name (Název projektu) a pak vyberte Next (Další).

    Snímek obrazovky, který znázorňuje pojmenování kalkulačky projektu v okně Configure your new project (Konfigurace nového projektu)

  4. V okně Další informace by už mělo být pro cílovou rozhraní vybrané rozhraní .NET 6.0. Vyberte Vytvořit.

    Snímek obrazovky s vybranou možností .NET 6.0 v okně Další informace

    Visual Studio nový projekt, který obsahuje výchozí kód "Hello World".

Vytvoření aplikace

V této části:

  • Prozkoumejte základní celočíselnou matematiku v jazyce C#.
  • Přidejte kód pro vytvoření aplikace základní kalkulačky.
  • Laděním aplikace vyhledejte a opravte chyby.
  • Upř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".

    Snímek obrazovky znázorňuje odstranění Hello World kódu z nové aplikace kalkulačky

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

  2. Na jeho místo 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 funkce IntelliSense v Visual Studio nabízí možnost automatického dokončování položky.

    Poznámka

    Následující animace nemá duplikovat předchozí kód. Jeho účelem je jenom ukázat, jak funkce automatického dokončování funguje.

    Animace celočíselného matematického kódu, který zobrazuje funkci automatického dokončování IntelliSense v Visual Studio IDE

  3. Vyberte zelené tlačítko Start vedle kalkulačky a sestavte a spusťte program, nebo stiskněte klávesu F5.

    Snímek obrazovky znázorňující výběr tlačítka Kalkulačka pro spuštění aplikace z panelu nástrojů

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

    Snímek obrazovky s oknem konzoly s výsledky celočíselné matematiky

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

  5. Zavřete okno konzoly.

  1. V Průzkumník řešení v pravém podokně vyberte Soubor Program.cs a zobrazte soubor v editoru kódu.

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

    Snímek obrazovky znázorňuje řádek, který se má nahradit v souboru programu

    Nahraďte řádek následujícím kódem:

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

    Pokud kód napíšete, Visual Studio IntelliSense nabízí možnost automatického dokončování položky.

    Poznámka

    Následující animace není určená k předvedení předchozího kódu, ale pouze k zobrazení toho, jak technologie IntelliSense funguje.

    Animace celočíselného matematického kódu, který zobrazuje funkci automatického dokončování IntelliSense v Visual Studio IDE

  3. Aplikaci sestavíte a spustíte stisknutím klávesy F5 nebo výběrem zelené šipky vedle názvu Kalkulačka na horním panelu nástrojů.

    Snímek obrazovky znázorňující výběr tlačítka Kalkulačka pro spuštění aplikace z panelu nástrojů Ladění

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

    Snímek obrazovky s oknem konzoly zobrazující výsledky celočíselné matematiky

  4. Zavřete okno konzoly.

  5. Volitelně můžete změnit operátor a změnit výsledek. Můžete například změnit operátor na řádku kódu pro odčítání, pro + int c = a + b; násobení nebo pro - * / 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 souboru 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. Aplikaci spustíte stisknutím tlačítka Kalkulačka nebo stisknutím klávesy F5.

    Otevře se okno konzoly.

  3. V okně konzoly podle pokynů sečtete čísla 42 a 119.

    Vaše aplikace by měla vypadat podobně jako na následujícím snímku obrazovky:

    Snímek obrazovky s oknem konzoly zobrazující aplikaci Kalkulačka s výzvami

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

Teď upravte kód 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, výsledek bude nula, což není přesné.

Snímek obrazovky s oknem konzoly, které zobrazuje aplikaci Kalkulačka, která v důsledku toho vrací celé číslo

Pokud chcete kód opravit, abyste zlepšili přesnost zpracováním desetinných míst:

  1. V souboru program.cs v Visual Studio editoru stiskněte Ctrl H a otevřete ovládací prvek Najít a + nahradit.

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

  3. Vyberte ikony pro Shoda s případy a Shoda s celým slovem v ovládacím prvku, 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 nahrazení.

    Animace ovládacího prvku Najít a nahradit znázorňující, jak změnit proměnnou int na float

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

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

    Snímek obrazovky s oknem konzoly zobrazující aplikaci Kalkulačka, která teď vrací desetinná čísla

Aplikace teď může vytvořit desítkové výsledky. Vylepšete kód ještě o několik dalších vylepšení, aby aplikace také vypočítala desetinná čísla.

  1. Pomocí ovládacího prvku Najít a nahradit změňte jednotlivé instance proměnné na a ke změně float jednotlivých instancí metody na double Convert.ToInt32 Convert.ToDouble .

  2. 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 vrací delší desetinná čísla.

    Snímek obrazovky s oknem konzoly zobrazující aplikaci Kalkulačka, která teď přijímá desetinná čísla a vrací delší desetinný výsledek

    V části Revidovat kód snížíte počet desetinných míst ve výsledcích.

Ladění aplikace

Vylepšili jste aplikaci základní kalkulačky, ale vaše aplikace ještě nezvládá výjimky, jako jsou chyby uživatelského vstupu. Pokud se například uživatelé pokusí vydělit nulou nebo zadat neočekávaný znak, může aplikace přestat fungovat, vrátit chybu nebo vrátit neočekávaný nečísný 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 o tom, jak funguje, najdete v tématu První pohled na Visual Studio ladicího programu.

Oprava chyby "vydělit nulou"

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

Snímek obrazovky Visual Studio kódu zobrazující řádek zvýrazněný žlutě a chybu Exception Unhandled (Neošetřená výjimka) pro "Attempted to divide by zero" (Pokus o dělení nulou)

Poznámka

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

Změna kódu pro zpracování této chyby:

  1. V souboru program.cs nahraďte kód mezi a case "d": komentářem, který říká , následujícím // Wait for the user to respond before closing 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 měla switch vypadat podobně jako na následujícím snímku obrazovky:

    Snímek obrazovky s upravenou částí přepínače v Visual Studio editoru kódu

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

Snímek obrazovky okna konzoly s opakovaným zobrazením výzvy k zadání nenulové hodnoty

Oprava chyby "format"

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

Snímek obrazovky zobrazující neošetřenou chybu formátu v Visual Studio editoru kódu

Snímek obrazovky zobrazující neošetřenou chybu formátu v Visual Studio editoru kódu

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

Revize kódu

Místo toho, abyste ke zpracování veškerého kódu spoléhají na třídu , můžete aplikaci rozdělit do dvou tříd: a program Calculator Program .

Třída zpracovává většinu výpočtů a třída zpracovává uživatelské rozhraní a práci Calculator Program zpracování chyb.

Tak se do toho pusťme.

  1. V souboru program.cs odstraňte vše v oboru názvů mezi jeho počátečními a Calculator uzavíracími složená závorkami:

    using System;
    
    namespace Calculator
    {
    
    }
    
  2. Mezi složené závorky 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;
        }
    }
    
    
  3. Přidejte také Program novou 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;
        }
    }
    
  4. Aplikaci spustíte stisknutím tlačítka Kalkulačka nebo stisknutím klávesy F5.

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

    Snímek obrazovky s oknem konzoly s refaktorované aplikace kalkulačky

    Snímek obrazovky s oknem konzoly s refaktorované aplikace kalkulačky

    Teď můžete zadat další rovnice, dokud se nezjistěníte 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 odpovídající chybová odpověď.

Zavření aplikace

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

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

    Snímek obrazovky znázorňuje zavření podokna Výstup v Visual Studio

  3. V Visual Studio stisknutím Ctrl + S aplikaci uložte.

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

Teď, když jste vytvořili aplikaci, ji můžete chtít přidat do úložiště Git. Pomůžeme vám. 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í .NET.

Tip

Git je nejpoužívanějším moderním systémem pro řízení verzí, takže Git může být velmi užitečný, ať už jste profesionální vývojář nebo se učíte programovat. Pokud s Gitem začínáte, https://git-scm.com/ je web dobrým místem, kde začít. Najdete tam tahák, oblíbenou online knihu a videa Git Basics.

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

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

    Snímek obrazovky s tlačítky správy zdrojového kódu Git pod Průzkumník řešení podoknem a zvýrazněnou tlačítkem Přidat do správy zdrojového kódu

  2. V dialogovém okně Create a Git repository (Vytvořit úložiště Git) se přihlaste GitHub.

    Snímek obrazovky s dialogem Vytvořit úložiště Git, kde se můžete přihlásit k GitHub

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

    Tip

    Ať už je vaše úložiště veřejné nebo soukromé, je nejlepší mít bezpečně uloženou vzdálenou zálohu kódu na GitHub. I když nepracujete s týmem, vzdálené úložiště vám váš kód zpracuje z libovolného počítače.

  3. Vyberte Create and Push (Vytvořit a nasaovat).

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

    Snímek obrazovky se stavový řádek v Průzkumník řešení v Visual Studio

    První ikona se šipkami ukazuje, kolik odchozích/příchozích potvrzení je ve vaší aktuální větvi. Tuto ikonu můžete použít k natažení všech příchozích potvrzení nebo k nasouání všech odchozích potvrzení. Můžete se také rozhodnout, že tato potvrzení zobrazíte jako první. Pokud to chcete udělat, vyberte ikonu a pak vyberte Zobrazit odchozí/příchozí.

    Druhá ikona s tužkou zobrazuje počet nepotrzené změny kódu. Výběrem této ikony můžete tyto změny zobrazit v okně Git Changes (Změny Gitu).

Další informace o tom, jak používat Git s vaší aplikací, najdete v Visual Studio pro řízení verzí.

Recenze: Kód je dokončený.

V tomto kurzu jste provedli mnoho změn aplikace kalkulačky. 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, vše na jednom místě:


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

Další kroky