Tutorial: Erstellen einer einfachen C#-Konsolen-App in Visual StudioTutorial: Create a simple C# console app in Visual Studio

In diesem Tutorial für C# verwenden Sie Visual Studio, um eine Konsolen-App zu erstellen und auszuführen sowie einige Funktionen der integrierten Visual Studio-Entwicklungsumgebung (IDE) zu untersuchen, während Sie diese Aufgaben ausführen.In this tutorial for C#, you'll use Visual Studio to create and run a console app and explore some features of the Visual Studio integrated development environment (IDE) while you do so.

Wenn Sie Visual Studio noch nicht installiert haben, können Sie es auf der Seite Visual Studio-Downloads kostenlos herunterladen.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Wenn Sie Visual Studio noch nicht installiert haben, können Sie es auf der Seite Visual Studio-Downloads kostenlos herunterladen.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Erstellen eines ProjektsCreate a project

Zunächst müssen Sie ein Projekt für die C#-Anwendung erstellen.To start, we'll create a C# application project. Der Projekttyp enthält, schon bevor Sie mit der Bearbeitung beginnen, alle Vorlagendateien, die Sie benötigen.The project type comes with all the template files you'll need, before you've even added anything!

  1. Öffnen Sie Visual Studio 2017.Open Visual Studio 2017.

  2. Klicken Sie oben in der Menüleiste auf Datei > Neu > Projekt.From the top menu bar, choose File > New > Project. (Alternativ können Sie die Tastenkombination STRG+UMSCHALT+N verwenden.)(Alternatively, press Ctrl+Shift+N).

  3. Klappen Sie im linken Bereich des Dialogfelds Neues Projekt den Eintrag C# auf, und wählen Sie .NET Core aus.In the left pane of the New Project dialog box, expand C#, and then choose .NET Core. Wählen Sie im mittleren Bereich die Option Konsolenanwendung (.NET Core) aus.In the middle pane, choose Console App (.NET Core). Nennen Sie die Datei Calculator.Then name the file Calculator.

    Projektvorlage „Console App (.NET Core)“ im Dialogfeld „Neues Projekt“ in der Visual Studio-IDE

Hinzufügen einer Workload (optional)Add a workload (optional)

Wenn Ihnen die Projektvorlage Console App (.NET Core) (Konsolen-App (.NET Core)) fehlt, fügen Sie einfach die Workload Plattformübergreifende .NET Core-Entwicklung hinzu.If you don't see the Console App (.NET Core) project template, you can get it by adding the .NET Core cross-platform development workload. Gehen Sie folgendermaßen vor:Here's how.

Option 1: Verwenden des Dialogfelds „Neues Projekt“Option 1: Use the New Project dialog box

  1. Wählen Sie im Dialogfeld Neues Projekt im linken Bereich den Link Visual Studio-Installer öffnen aus.Choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

    Auswählen des Links „Visual Studio-Installer öffnen“ im Dialogfeld „Neues Projekt“

  2. Der Visual Studio-Installer wird gestartet.The Visual Studio Installer launches. Wählen Sie die Workload Plattformübergreifende .NET Core-Entwicklung aus, und klicken Sie dann auf Anpassen.Choose the .NET Core cross-platform development workload, and then choose Modify.

    Workload für die plattformübergreifende .NET Core-Entwicklung im Visual Studio-Installer

Option 2: Verwenden der Menüleiste „Extras“Option 2: Use the Tools menu bar

  1. Schließen Sie das Dialogfeld Neues Projekt, und klicken Sie in der oberen Menüleiste auf Tools > Tools und Features abrufen.Cancel out of the New Project dialog box and from the top menu bar, choose Tools > Get Tools and Features.

  2. Der Visual Studio-Installer wird gestartet.The Visual Studio Installer launches. Wählen Sie die Workload Plattformübergreifende .NET Core-Entwicklung aus, und klicken Sie dann auf Anpassen.Choose the .NET Core cross-platform development workload, and then choose Modify.

  1. Öffnen Sie Visual Studio 2019.Open Visual Studio 2019.

  2. Wählen Sie im Startfenster Neues Projekt erstellen aus.On the start window, choose Create a new project.

    Anzeigen des Fensters „Neues Projekt erstellen“

  3. Geben Sie im Fenster Neues Projekt erstellen im Suchfeld Konsole ein.On the Create a new project window, enter or type console in the search box. Wählen Sie anschließend in der Liste der Sprachen C# und dann aus der Liste der Plattformen Windows aus.Next, choose C# from the Language list, and then choose Windows from the Platform list.

    Nachdem Sie die Sprach- und Plattformfilter angewendet haben, wählen Sie die Vorlage Konsolen-App (.NET Core) und dann Weiter aus.After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

    Auswählen der C#-Vorlage für die Konsolen-App (.NET Framework)

    Hinweis

    Wenn Sie die Konsolen-App (.NET Core) nicht sehen, können Sie sie aus dem Fenster Neues Projekt erstellen installieren.If you do not see the Console App (.NET Core) template, you can install it from the Create a new project window. Wählen Sie in der Meldung Sie finden nicht, wonach Sie suchen? den Link Weitere Tools und Features installieren aus.In the Not finding what you're looking for? message, choose the Install more tools and features link.

    Link „Weitere Tools und Features installieren“ aus der Meldung „Sie finden nicht, wonach Sie suchen“ im Fenster „Neues Projekt erstellen“

    Wählen Sie anschließend im Visual Studio-Installer die Workload Plattformübergreifende .NET Core-Entwicklung aus.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

    Workload für die plattformübergreifende .NET Core-Entwicklung im Visual Studio-Installer

    Wählen Sie anschließend die Schaltfläche Ändern im Visual Studio-Installer aus.After that, choose the Modify button in the Visual Studio Installer. Möglicherweise werden Sie aufgefordert, Ihre Arbeit zu speichern; wenn dies der Fall ist, führen Sie das aus.You might be prompted to save your work; if so, do so. Wählen Sie als Nächstes Weiter aus, um die Workload zu installieren.Next, choose Continue to install the workload. Kehren Sie dann zu Schritt 2 in dieser Vorgehensweise "Projekt erstellen" zurück.Then, return to step 2 in this "Create a project" procedure.

  4. Geben Sie im Fenster Neues Projekt konfigurieren im Feld *Projektname***Calculator ein.In the Configure your new project window, type or enter Calculator in the Project name box. Wählen Sie anschließend Erstellen aus.Then, choose Create.

    Benennen Sie Ihr Projekt im Fenster „Neues Projekt konfigurieren“ „Calculator“

    Visual Studio öffnet Ihr neues Projekt, das den Standardcode „Hallo Welt“ enthält.Visual Studio opens your new project, which includes default "Hello World" code.

Erstellen der AppCreate the app

Zunächst befassen Sie sich mit grundlegenden Berechnungen von Integern in C#.First, we'll explore some basic integer math in C#. Daraufhin fügen Sie Code hinzu, um einen einfachen Rechner zu erstellen.Then, we'll add code to create a basic calculator. Anschließend erhalten Sie Informationen zum Debuggen Ihrer App, damit Sie Fehler finden und beheben können.After that, we'll debug the app to find and fix errors. Zuletzt erfahren Sie, wie Sie den Code effizienter machen können.And finally, we'll refine the code to make it more efficient.

Erkunden von arithmetischen Operationen mit ganzen ZahlenExplore integer math

Beginnen Sie mit grundlegenden Berechnungen von Integern in C#.Let's start with some basic integer math in C#.

  1. Löschen Sie im Code-Editor den „Hallo Welt“-Standardcode.In the code editor, delete the default "Hello World" code.

    Löschen des „Hallo Welt“-Standardcodes aus der neuen Rechner-App

    Löschen Sie die Zeile, die Console.WriteLine("Hello World!"); beinhaltet.Specifically, delete the line that says, Console.WriteLine("Hello World!");.

  2. Geben Sie stattdessen folgenden Code in diese Zeile ein:In its place, type the following code:

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

    Beachten Sie dabei, dass Ihnen die IntelliSense-Funktion in Visual Studio die Möglichkeit bietet, den Eintrag automatisch zu vervollständigen.Notice that when you do so, the IntelliSense feature in Visual Studio offers you the option to autocomplete the entry.

    Hinweis

    In der folgenden Animation soll nicht der obige Code dargestellt werden.The following animation isn't intended to duplicate the preceding code. Sie dient lediglich zur Veranschaulichung des Features für die automatische Vervollständigung.It's intended only to show how the autocomplete feature works.

    Animation von Code zur Berechnung von Integern mit der IntelliSense-Funktion für die automatische Vervollständigung in der Visual Studio-IDE

  3. Wählen Sie die grüne Schaltfläche Starten neben Rechner aus, um Ihr Programm zu erstellen und auszuführen, oder drücken Sie F5.Choose the green Start button next to Calculator to build and run your program, or press F5.

    Auswählen der Schaltfläche „Calculator“ zum Ausführen der App aus der Symbolleiste

    Ein Konsolenfenster wird geöffnet, das die Summe von 42 und 119 und somit 161 anzeigt.A console window opens that reveals the sum of 42 + 119, which is 161.

    Konsolenfenster mit den Ergebnissen der Berechnung von Integern

  4. (Optional) Sie können den Operator ändern, um das Ergebnis zu ändern.(Optional) You can change the operator to change the result. Zum Beispiel können Sie den +-Operator in der Codezeile int c = a + b; in - für Subtraktion, in * für Multiplikation oder in / für Division ändern.For example, you can change the + operator in the int c = a + b; line of code to - for subtraction, * for multiplication, or / for division. Wenn Sie dann das Programm ausführen, ändert sich auch das Ergebnis.Then, when you run the program, the result changes, too.

  5. Schließen Sie das Konsolenfenster.Close the console window.

Hinzufügen von Code zum Erstellen eines RechnersAdd code to create a calculator

Als Nächstes fügen Sie Ihrem Projekt komplexeren Rechnercode hinzu.Let's continue by adding a more complex set of calculator code to your project.

  1. Löschen Sie den gesamten Code im Code-Editor.Delete all the code you see in the code editor.

  2. Geben oder fügen Sie den folgenden neuen Code in den Code-Editor ein:Enter or paste the following new code into the code editor:

    using System;
    
    namespace Calculator
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Declare variables and then initialize to zero.
                int num1 = 0; int num2 = 0;
    
                // Display title as the C# console calculator app.
                Console.WriteLine("Console Calculator in C#\r");
                Console.WriteLine("------------------------\n");
    
                // Ask the user to type the first number.
                Console.WriteLine("Type a number, and then press Enter");
                num1 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to type the second number.
                Console.WriteLine("Type another number, and then press Enter");
                num2 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to choose an option.
                Console.WriteLine("Choose an option from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                // Use a switch statement to do the math.
                switch (Console.ReadLine())
                {
                    case "a":
                        Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
                        break;
                    case "s":
                        Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
                        break;
                    case "m":
                        Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
                        break;
                    case "d":
                        Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                        break;
                }
                // Wait for the user to respond before closing.
                Console.Write("Press any key to close the Calculator console app...");
                Console.ReadKey();
            }
        }
    }
    
  3. Wählen Sie Calculator aus, um das Programm auszuführen, oder drücken Sie F5.Choose Calculator to run your program, or press F5.

    Auswählen der Schaltfläche „Calculator“ zum Ausführen der App aus der Symbolleiste

    Dann wird ein Konsolenfenster geöffnet.A console window opens.

  4. Rufen Sie Ihre App in dem Konsolenfenster auf, und befolgen Sie dann die Anweisungen, um die Zahlen 42 und 119 hinzuzufügen.View your app in the console window, and then follow the prompts to add the numbers 42 and 119.

    Die App sollte in etwa wie auf dem folgenden Screenshot dargestellt aussehen:Your app should look similar to the following screenshot:

    Konsolenfenster mit der Rechner-App und Anweisungen zu den auszuführenden Aktionen

Hinzufügen von Funktionen zum RechnerAdd functionality to the calculator

Optimieren Sie den Code, um weitere Funktionen hinzuzufügen.Let's tweak the code to add further functionality.

Hinzufügen von DezimalzahlenAdd decimals

Die Rechner-App akzeptiert derzeit nur ganze Zahlen und gibt auch keine Dezimalzahlen zurück.The calculator app currently accepts and returns whole numbers. Die Genauigkeit lässt sich aber erhöhen, indem Sie Code hinzufügen, der die Angabe von Dezimalzahlen zulässt.But, it will be more precise if we add code that allows for decimals.

Wie Sie auf dem folgenden Screenshot sehen, erhalten Sie die Zahl 0 (null) als Ergebnis, wenn Sie 42 durch 119 dividieren. Dieses Ergebnis ist allerdings zu ungenau.As in the following screenshot, if you run the app and divide number 42 by the number 119, your result is 0 (zero), which isn't exact.

Konsolenfenster mit der Rechner-App, die keine Dezimalzahlen als Ergebnis zurückgibt

Gehen Sie daher wie folgt vor, um den Code für die Verarbeitung von Dezimalzahlen anzupassen.Let's fix the code so that it handles decimals.

  1. Drücken Sie STRG + H, um das Steuerelement Suchen und Ersetzen zu öffnen.Press Ctrl + H to open the Find and Replace control.

  2. Ändern Sie sämtliche Instanzen der int-Variablen in float.Change each instance of the int variable to float.

    Stellen Sie sicher, dass Sie im Steuerelement Suchen und Ersetzen die Optionen Groß-/Kleinschreibung beachten (ALT+C) und Nur ganzes Wort suchen (ALT+W) ein- bzw. ausschalten.Make sure that you toggle Match case (Alt+C) and Match whole word (Alt+W) in the Find and Replace control.

    Animation des Steuerelements „Suchen und Ersetzen“, die zeigt, wie die Variable „int“ in „float“ geändert wird.

  3. Führen Sie Ihre Rechner-App erneut aus, und dividieren Sie 42 durch 119.Run your calculator app again and divide the number 42 by the number 119.

    Jetzt sollte die App anstelle der Zahl 0 eine Dezimalzahl zurückgeben.Notice that the app now returns a decimal numeral instead of zero.

    Konsolenfenster mit der Rechner-App, die jetzt Dezimalzahlen als Ergebnis zurückgibt

Die App gibt allerdings nur Dezimalzahlen als Ergebnis zurück.However, the app produces only a decimal result. Gehen Sie daher wie folgt vor, damit die App auch mit Dezimalzahlen rechnen kann.Let's make a few more tweaks to the code so that the app can calculate decimals too.

  1. Verwenden Sie das Steuerelement Suchen und Ersetzen (STRG + H), um jede Instanz der Variablen float in double und jede Instanz der Methode Convert.ToInt32 in Convert.ToDouble zu ändern.Use the Find and Replace control (Ctrl + H) to change each instance of the float variable to double, and to change each instance of the Convert.ToInt32 method to Convert.ToDouble.

  2. Führen Sie Ihre Rechner-App aus, und dividieren Sie 42,5 durch 119,75.Run your calculator app and divide the number 42.5 by the number 119.75.

    Nun sollte die App auch Dezimalwerte akzeptieren und mehr Dezimalstellen als Ergebnis zurückgeben.Notice that the app now accepts decimal values and returns a longer decimal numeral as its result.

    Konsolenfenster mit der Rechner-App, die jetzt Dezimalzahlen akzeptiert und mehr Dezimalstellen als Ergebnis zurückgibt

    (Im Abschnitt Überarbeiten des Codes erfahren Sie, wie Sie das Problem mit der Anzahl der Dezimalstellen beheben.)(We'll fix the number of decimal places in the Revise the code section.)

Debuggen der AppDebug the app

Sie haben nun bereits Ihre einfache App verbessert, allerdings fehlen noch Optionen zur Ausfallsicherheit, um Ausnahmen wie durch den Benutzer verursachte Eingabefehler zu verarbeiten.We've improved on our basic calculator app, but it doesn't yet have fail safes in place to handle exceptions, such as user input errors.

Wenn Sie beispielsweise versuchen, eine Zahl durch 0 (null) zu dividieren oder einen Buchstaben eingeben, obwohl die App eine Zahl erwartet (oder umgekehrt), funktioniert die App möglicherweise nicht mehr, gibt einen Fehler zurück oder gibt ein unerwartetes, nicht numerisches Ergebnis zurück.For example, if you try to divide a number by zero, or enter an alpha character when the app expects a numeric character (or vice versa), the app might stop working, return an error, or return an unexpected nonnumeric result.

Nachfolgend werden einige häufige durch den Benutzer verursachte Eingabefehler erläutert, und Sie erfahren, wie Sie diese im Debugger finden und im Code beheben, wenn sie auftreten.Let's walk through a few common user input errors, locate them in the debugger if they appear there, and fix them in the code.

Tipp

Weitere Informationen zum Debugger und dessen Funktionsweise finden Sie auf der Seite Ein erster Blick auf den Visual Studio-Debugger.For more information about the debugger and how it works, see the First look at the Visual Studio debugger page.

Beheben des Fehlers „Division durch Null“Fix the "divide by zero" error

Wenn Sie versuchen, eine Zahl durch 0 (null) zu dividieren, reagiert die Konsolen-App möglicherweise nicht mehr und zeigt Ihnen dann im Code-Editor, welcher Fehler aufgetreten ist.When you try to divide a number by zero, the console app might freeze and then show you what's wrong in the code editor.

Der Visual Studio-Code-Editor zeigt den Fehler „Division durch Null“ an

Hinweis

In manchen Fällen friert die App nicht ein, und der Debugger zeigt keinen Fehler für die Division durch 0 (null) an.Sometimes, the app doesn't freeze and the debugger won't show a divide-by-zero error. Stattdessen gibt die App womöglich ein unerwartetes, nicht numerisches Ergebnis zurück, z. B. ein Unendlichkeitssymbol.Instead, the app might return an unexpected nonnumeric result, such as an infinity symbol. Nichtsdestotrotz gilt die folgende Codekorrektur.The following code fix still applies.

Sie müssen den Code wie folgt bearbeiten, damit dieser Fehler verarbeitet werden kann.Let's change the code to handle this error.

  1. Löschen Sie den Code, der zwischen case "d": und dem Kommentar // Wait for the user to respond before closing (Vor dem Schließen auf eine Reaktion des Benutzers warten) angezeigt wird.Delete the code that appears directly between case "d": and the comment that says // Wait for the user to respond before closing.

  2. Ersetzen Sie den Code durch folgenden Code:Replace it with the following code:

             // Ask the user to enter a non-zero divisor until they do so.
                 while (num2 == 0)
                 {
                     Console.WriteLine("Enter a non-zero divisor: ");
                     num2 = Convert.ToInt32(Console.ReadLine());
                 }
                 Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                 break;
         }
    

    Wenn Sie den Code hinzugefügt haben, sollte der Bereich mit der switch-Anweisung in etwa wie auf dem folgenden Screenshot aussehen:After you add the code, the section with the switch statement should look similar to the following screenshot:

    Der überarbeitete „switch“-Bereich im Visual Studio-Code-Editor

Die App sollte Sie nun zur Eingabe einer anderen Zahl auffordern, wenn Sie versuchen, durch 0 zu dividieren.Now, when you divide any number by zero, the app will ask for another number. Diese Aufforderung wird so lange angezeigt, bis Sie eine andere Zahl als 0 eingeben.Even better: It won't stop asking until you provide a number other than zero.

Der Visual Studio-Code-Editor zeigt den Fehler „Division durch Null“ an

Beheben des Fehlers „Format“Fix the "format" error

Wenn Sie einen Buchstaben eingeben, obwohl die App die Eingabe einer Zahl erwartet (oder umgekehrt), friert die Konsolen-App ein.If you enter an alpha character when the app expects a numeric character (or vice versa), the console app freezes. Dann zeigt Ihnen Visual Studio an, welcher Fehler im Code-Editor aufgetreten ist.Visual Studio then shows you what's wrong in the code editor.

Der Visual Studio-Code-Editor zeigt einen Formatfehler an

Damit dieser Fehler behoben werden kann, muss der zuvor eingegebene Code umgestaltet werden.To fix this error, we must refactor the code that we've previously entered.

Überarbeiten des CodesRevise the code

Damit Sie nicht davon abhängig sind, dass die program-Klasse den gesamten Code verarbeitet, sollten Sie Ihre App in zwei Klassen (Calculator und Program) aufteilen.Rather than rely on the program class to handle all the code, we'll divide our app into two classes: Calculator and Program.

Die Calculator-Klasse soll einen Großteil der Rechenarbeit übernehmen, während die Program-Klasse die Benutzeroberfläche und das Erfassen von Fehlern handhabt.The Calculator class will handle the bulk of the calculation work, and the Program class will handle the user interface and error-capturing work.

Fangen wir also an.Let's get started.

  1. Löschen Sie im Calculator-Namespace den gesamten Inhalt zwischen öffnender und schließender Klammer:Delete everything in the Calculator namespace between its opening and closing braces:

    using System;
    
    namespace Calculator
    {
    
    }
    
  2. Gehen Sie dann wie folgt vor, um eine neue Calculator-Klasse hinzuzufügen:Next, add a new Calculator class, as follows:

    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.
    
            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }
    
    
  3. Gehen Sie anschließend wie folgt vor, um eine neue Program-Klasse hinzuzufügen:Then, add a new Program class, as follows:

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");
    
            while (!endApp)
            {
                // Declare variables and set to empty.
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;
    
                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();
    
                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput1 = Console.ReadLine();
                }
    
                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();
    
                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput2 = Console.ReadLine();
                }
    
                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                string op = Console.ReadLine();
    
                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }
    
                Console.WriteLine("------------------------\n");
    
                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;
    
                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
    
  4. Wählen Sie Calculator aus, um das Programm auszuführen, oder drücken Sie F5.Choose Calculator to run your program, or press F5.

  5. Befolgen Sie die Anweisungen, und dividieren Sie die Zahl 42 durch 119.Follow the prompts and divide the number 42 by the number 119. Die App sollte in etwa wie auf dem folgenden Screenshot dargestellt aussehen:Your app should look similar to the following screenshot:

    Konsolenfenster mit der umgestalteten Rechner-App und Anweisungen zu den auszuführenden Aktionen und zur Fehlerbehandlung bei falschen Eingaben

    Sie können so lange weitere Gleichungen hinzufügen, bis Sie die Konsolen-App schließen.Notice that you have the option to enter more equations until you choose to close the console app. Außerdem haben Sie die Anzahl der Dezimalstellen im Ergebnis reduziert.And, we've also reduced the number of decimal places in the result.

Schließen der AppClose the app

  1. Schließen Sie die App, falls noch nicht geschehen.If you haven't already done so, close the calculator app.

  2. Schließen Sie den Bereich Output (Ausgabe) in Visual Studio.Close the Output pane in Visual Studio.

    Schließen des Ausgabebereichs in Visual Studio

  3. Drücken Sie in Visual Studio STRG+S, um die App zu speichern.In Visual Studio, press Ctrl+S to save your app.

  4. Schließen Sie Visual Studio.Close Visual Studio.

Vollständiger CodeCode complete

Im Rahmen dieses Tutorials haben Sie einige Änderungen an der Rechner-App vorgenommen.During this tutorial, we've made a lot of changes to the calculator app. Die App kann jetzt Rechenressourcen effizienter handhaben und die meisten durch den Benutzer verursachten Eingabefehler verarbeiten.The app now handles computing resources more efficiently, and it handles most user input errors.

Nachfolgend finden Sie den vollständigen Code:Here's the complete code, all in one place:


using System;

namespace Calculator
{
    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.

            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            bool endApp = false;
            // Display title as the C# console calculator app.
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");

            while (!endApp)
            {
                // Declare variables and set to empty.
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;

                // Ask the user to type the first number.
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();

                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput1 = Console.ReadLine();
                }

                // Ask the user to type the second number.
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();

                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput2 = Console.ReadLine();
                }

                // Ask the user to choose an operator.
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");

                string op = Console.ReadLine();

                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }

                Console.WriteLine("------------------------\n");

                // Wait for the user to respond before closing.
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;

                Console.WriteLine("\n"); // Friendly linespacing.
            }
            return;
        }
    }
}

Nächste SchritteNext steps

Damit haben Sie das Tutorial erfolgreich abgeschlossen.Congratulations on completing this tutorial! Wenn Sie weitere Informationen erhalten möchten, fahren Sie mit den folgenden Tutorials fort.To learn even more, continue with the following tutorials.

Siehe auchSee also