Freigeben über


Lernprogramm: Erstellen einer einfachen C#-Konsolen-App in Visual Studio (Teil 1 von 2)

In diesem Lernprogramm verwenden Sie Visual Studio zum Erstellen und Ausführen einer C#-Konsolen-App und erkunden einige Features der integrierten Entwicklungsumgebung (IDE) von Visual Studio. Dieses Lernprogramm ist Teil 1 einer zweiteiligen Lernprogrammreihe.

In diesem Lernprogramm führen Sie die folgenden Aufgaben aus:

  • Erstellen Sie ein Visual Studio-Projekt.
  • Erstellen Sie eine C#-Konsolen-App.
  • Debuggen Sie Ihre App.
  • Schließen Sie Ihre App.
  • Überprüfen Sie den vollständigen Code.

In Teil 2 dieses Lernprogrammserweitern Sie diese App, um weitere Projekte hinzuzufügen, Debug-Tricks zu erlernen und nicht von Microsoft stammende Pakete zu referenzieren.

Voraussetzungen

Visual Studio muss installiert sein.

Wenn Sie nicht über Visual Studio verfügen, wechseln Sie zu Visual Studio downloads, um es kostenlos zu installieren.

Erstellen eines Projekts

Erstellen Sie zunächst ein C#-Anwendungsprojekt. Der Projekttyp enthält alle benötigten Vorlagendateien.

  1. Öffnen Sie Visual Studio, und wählen Sie Erstellen eines neuen Projekts im Startfenster aus.

    Screenshot mit dem Fenster

  2. Wählen Sie im Fenster "Neues Projekt erstellen" C#- aus der Dropdownliste "Sprache" aus. Wählen Sie Windows aus der Plattformliste und Konsolen- aus der Projekttypenliste aus.

    Nachdem Sie die Filter für Sprache, Plattform und Projekttyp angewendet haben, wählen Sie die Vorlage Konsolenanwendung aus, und wählen Sie dann Nextaus.

    Anmerkung

    Wenn die Vorlage Konsolenanwendung nicht angezeigt wird, wählen Sie Weitere Tools und Features installieren aus.

    Screenshot mit dem Link

    Wählen Sie im Visual Studio Installer die .NET Core plattformübergreifende Entwicklung Workload aus.

    Screenshot der plattformübergreifenden .NET Core-Entwicklungsarbeitsauslastung im Visual Studio Installer.

    Wählen Sie im Visual Studio-Installer Ändern aus. Möglicherweise werden Sie aufgefordert, Ihre Arbeit zu speichern. Wählen Sie Weiter aus, um die Workload zu installieren.

    Kehren Sie zu Schritt 2 des Erstellen eines Projekts Verfahrens zurück.

  3. Geben Sie im Fenster Neues Projekt konfigurieren im Feld ProjektnameCalculator ein. Wählen Sie dann Weiteraus.

    Screenshot, der zeigt, wie Sie Ihr Projekt

  4. Überprüfen Sie im Fenster Zusätzliche Informationen, ob .NET Core 3.1- im Feld Zielframework angezeigt wird. Wählen Sie dann Erstellen aus.

    Screenshot des Fensters

Visual Studio öffnet Ihr neues Projekt, das Standardcode Hello World enthält. Um sie im Editor anzuzeigen, wählen Sie die Codedatei Program.cs im Projektmappen-Explorer-Fenster aus, die sich normalerweise auf der rechten Seite von Visual Studio befindet.

Der Standardcode Hello World ruft die WriteLine-Methode auf, um die Literalzeichenfolge Hello, World anzuzeigen! im Konsolenfenster. Wenn Sie F5 drücken, können Sie das Standardprogramm im Debugmodus ausführen. Nachdem die Anwendung im Debugger ausgeführt wird, bleibt das Konsolenfenster geöffnet. Drücken Sie eine beliebige Taste, um das Konsolenfenster zu schließen.

  1. Öffnen Sie Visual Studio, und wählen Sie Erstellen eines neuen Projekts im Startfenster aus.

    Screenshot mit dem Fenster

  2. Wählen Sie im Fenster "Neues Projekt erstellen" C#- aus der Dropdownliste "Sprache" aus. Wählen Sie Windows aus der Plattformliste und Konsolen- aus der Projekttypenliste aus.

    Nachdem Sie die Sprach-, Plattform- und Projekttypfilter angewendet haben, wählen Sie die Vorlage Konsolen-App- aus, und wählen Sie dann Nextaus.

    Anmerkung

    Wenn die Vorlage Konsolen-App nicht angezeigt wird, wählen Sie Weitere Tools und Features installieren aus.

    Screenshot mit dem Link

    Wählen Sie im Visual Studio-Installer die .NET-Desktopentwicklung Workload aus.

    Screenshot: Workload „.NET-Desktopentwicklung“ im Visual Studio-Installer.

    Wählen Sie im Visual Studio-Installer Ändern aus. Möglicherweise werden Sie aufgefordert, Ihre Arbeit zu speichern. Wählen Sie Weiter aus, um die Workload zu installieren.

    Kehren Sie zu Schritt 2 in der Vorgehensweise Projekt erstellen zurück.

  3. Geben Sie im Fenster Neues Projekt konfigurieren im Feld Projektname den Namen Calculator ein, und wählen Sie dann Weiter aus.

    Screenshot, der zeigt, wie Sie Ihr Projekt

  4. Wählen Sie im Fenster Zusätzliche Informationen im Feld Zielframework die Option .NET 8.0 aus. Wählen Sie dann Erstellen aus.

    Screenshot des Fensters

Visual Studio öffnet Ihr neues Projekt, das Standardcode Hello World enthält. Um sie im Editor anzuzeigen, wählen Sie die Codedatei Program.cs im Projektmappen-Explorer-Fenster aus, die sich normalerweise auf der rechten Seite von Visual Studio befindet.

Die einzelne Codeanweisung ruft die WriteLine-Methode auf, um die Literalzeichenfolge Hello, World anzuzeigen! im Konsolenfenster. Wenn Sie F5 drücken, können Sie das Standardprogramm im Debugmodus ausführen. Nachdem die Anwendung im Debugger ausgeführt wird, bleibt das Konsolenfenster geöffnet. Drücken Sie eine beliebige Taste, um das Konsolenfenster zu schließen.

Anmerkung

Ab .NET 6 generieren neue Projekte, die die Konsolenvorlage verwenden, einen anderen Code als frühere Versionen. Weitere Informationen finden Sie unter Neue C#-Vorlagen generieren Anweisungen auf oberster Ebene.

Erstellen der App

In diesem Abschnitt führen Sie die folgenden Aufgaben aus:

  • Erkunden Sie einige einfache ganzzahlige Mathematik in C#.
  • Fügen Sie Code zum Erstellen einer einfachen Rechner-App hinzu.
  • Debuggen Sie die App, um Fehler zu finden und zu beheben.
  • Verfeinern Sie den Code, um ihn effizienter zu gestalten.

Ganzzahlige Mathematik erkunden

Beginnen Sie mit einer einfachen ganzzahligen Mathematik in C#.

  1. Wählen Sie im rechten Bereich Program.cs aus, um die Datei im Code-Editor anzuzeigen.

  2. Löschen Sie im Code-Editor den Standardcode Hello World.

    Screenshot mit dem standardmäßigen Hello World-Code, der aus Ihrer neuen Rechner-App gelöscht werden soll.

    Löschen Sie insbesondere die Zeile, die besagt, Console.WriteLine("Hello World!");.

  3. Geben Sie an seiner Stelle den folgenden Code ein:

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

    Beachten Sie, dass beim Eingeben des Codes das IntelliSense-Feature in Visual Studio Ihnen die Option zum automatischen Vervollständigen des Eintrags bietet.

    Animation des Codes zur Berechnung von Ganzzahlen mit der IntelliSense-Funktion „AutoVervollständigen“ in der Visual Studio-IDE.

  4. Wählen Sie die grüne schaltfläche Start neben Rechner aus, um Ihr Programm zu erstellen und auszuführen, oder drücken Sie F5.

    Screenshot mit der Schaltfläche

    Ein Konsolenfenster wird geöffnet, das die Summe von 42 + 119 anzeigt, die 161ist.

    Screenshot mit einem Konsolenfenster mit den Ergebnissen einer ganzzahligen Mathematik.

  5. (Optional) Sie können den Operator ändern, um das Ergebnis zu ändern. Sie können z. B. den +-Operator in der int c = a + b; Codezeile in - für Subtraktion, * für die Multiplikation oder / für die Division ändern. Wenn Sie das Programm ausführen, ändert sich das Ergebnis ebenfalls.

  6. Schließen Sie das Konsolenfenster.

  1. Wählen Sie im Projektmappen-Explorerim rechten Bereich Program.cs aus, um die Datei im Code-Editor anzuzeigen.

  2. Ersetzen Sie im Code-Editor den Standardcode Hello World, der Console.WriteLine("Hello World!");besagt.

    Screenshot der Zeile, die in der Programmdatei ersetzt werden soll.

    Ersetzen Sie die Zeile durch den folgenden Code:

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

    Wenn Sie den Code eingeben, bietet Ihnen das IntelliSense-Feature von Visual Studio die Möglichkeit, den Eintrag automatisch abzuschließen.

    Animation von ganzzahligem mathematischem Code, der das IntelliSense-AutoVervollständigen-Feature in der Visual Studio-IDE anzeigt.

  3. Um Ihre App zu erstellen und auszuführen, drücken Sie F5, oder wählen Sie den grünen Pfeil neben dem Namen Rechner in der oberen Symbolleiste aus.

    Screenshot, der zeigt, wie die Schaltfläche

    Ein Konsolenfenster wird geöffnet, in dem die Summe von 42 + 119 angezeigt wird, die 161ist.

    Screenshot eines Konsolenfensters mit den Ergebnissen ganzzahliger Mathematik.

  4. Schließen Sie das Konsolenfenster.

  5. (Optional) Sie können den Operator ändern, um das Ergebnis zu ändern. Sie können z. B. den +-Operator in der int c = a + b; Codezeile in - für Subtraktion, * für die Multiplikation oder / für die Division ändern. Wenn Sie die App ausführen, ändert sich das Ergebnis entsprechend.

Hinzufügen von Code zum Erstellen eines Rechners

Fahren Sie fort, indem Sie ihrem Projekt einen komplexeren Satz Rechnercode hinzufügen.

  1. Ersetzen Sie im Code-Editor den gesamten Code in Program.cs durch den folgenden neuen Code:

        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. Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.

    Ein Konsolenfenster wird geöffnet.

  3. Folgen Sie im Konsolenfenster den Anweisungen, um die Zahlen 42 und 119 zusammenzuzählen.

    Ihre App sollte dem folgenden Screenshot ähneln:

    Screenshot: Konsolenfenster mit der App „Calculator“ mit Eingabeaufforderungen.

  1. Ersetzen Sie im Code-Editor den gesamten Code in Program.cs durch den folgenden neuen Code:

        // 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. Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.

    Ein Konsolenfenster wird geöffnet.

  3. Folgen Sie im Konsolenfenster den Anweisungen, um die Zahlen 42 und 119 zusammen hinzuzufügen.

    Ihre App sollte dem folgenden Screenshot ähneln:

    Screenshot, der ein Konsolenfenster mit der Taschenrechner-App und ihren Eingabeaufforderungen zeigt.

Hinzufügen von Dezimalfunktionen

Optimieren Sie nun den Code, um weitere Funktionen hinzuzufügen.

Die aktuelle Rechner-App akzeptiert nur ganze Zahlen und gibt sie zurück. Wenn Sie beispielsweise die App ausführen und die Zahl 42 durch die Zahl 119 dividieren, ist das Ergebnis null, was nicht exakt ist.

Screenshot eines Konsolenfensters, in dem die Rechner-App eine ungenaue ganze Zahl als Ergebnis zurückgibt.

So korrigieren Sie den Code, um die Genauigkeit durch die Behandlung von Dezimalstellen zu verbessern:

  1. Drücken Sie in Program.cs im Visual Studio-Editor STRG+H, um das Steuerelement Suchen und Ersetzen zu öffnen.

  2. Geben Sie im Steuerelement int in das Suchfeld und float in das Feld Ersetzen ein.

  3. Wählen Sie die Symbole für Groß-/Kleinschreibung beachten und Nur ganzes Wort suchen aus, oder drücken Sie ALT+C und ALT+W.

  4. Wählen Sie das Symbol "Alle ersetzen" aus, oder drücken Sie ALT+A, um die Suche auszuführen und zu ersetzen.

    Animation des Steuerelements

  5. Führen Sie die Rechner-App erneut aus, und dividieren Sie die Zahl 42 durch die Zahl 119.

    Die App gibt jetzt eine Dezimalzahl anstelle von Null zurück.

    Screenshot eines Konsolenfensters mit der Rechner-App, die nun als Ergebnis eine Dezimalzahl zurückgibt.

    Jetzt kann die App dezimale Ergebnisse erzielen. Nehmen Sie einige weitere Optimierungen am Code vor, damit die App auch Dezimalstellen berechnen kann.

  6. Verwenden Sie das Steuerelement Suchen und Ersetzen, um jede Instanz der variablen float in doublezu ändern und jede Instanz der Convert.ToInt32-Methode in Convert.ToDoublezu ändern.

  7. Führen Sie Die Rechner-App aus, und dividieren Sie die Zahl 42,5 durch die Zahl 119,75.

    Die App akzeptiert jetzt Dezimalwerte und gibt eine längere Dezimalzahl als Ergebnis zurück.

    Screenshot eines Konsolenfensters mit der Rechner-App, die jetzt Dezimalzahlen akzeptiert und ein längeres Dezimalergebnis zurückgibt.

    Im Abschnitt Überarbeiten des Codes verringern Sie die Anzahl der Dezimalstellen in den Ergebnissen.

Debuggen der App

Sie haben Ihre einfache Rechner-App verbessert, ihre App behandelt jedoch noch keine Ausnahmen, z. B. Benutzereingabefehler. Wenn Benutzer beispielsweise versuchen, durch Null zu dividieren oder ein unerwartetes Zeichen einzugeben, funktioniert die App möglicherweise nicht mehr, gibt einen Fehler zurück oder gibt ein unerwartetes, nicht numerisches Ergebnis zurück.

Sehen wir uns einige häufige Benutzereingabefehler an, suchen sie im Debugger, wenn sie dort angezeigt werden, und beheben Sie sie im Code.

Tipp

Weitere Informationen zum Debugger und zur Funktionsweise finden Sie unter Sehen Sie sich zuerst den Visual Studio-Debuggeran.

Beheben des Fehlers Division durch Null

Wenn Sie versuchen, eine Zahl durch Null zu dividieren, kann die Konsolen-App einfrieren und dann im Code-Editor anzeigen, was daran falsch ist.

Screenshot des Visual Studio-Code-Editors, der eine gelb hervorgehobene Zeile zeigt sowie einen „Unbehandelte Ausnahme“-Fehler für „Versuchte Division durch Null“.

Anmerkung

Manchmal friert die App nicht ein, und der Debugger zeigt keinen Fehler bei der Division durch Null an. Stattdessen gibt die App möglicherweise ein unerwartetes, nicht numerisches Ergebnis zurück, z. B. ein Unendlichkeitssymbol. Die folgende Codekorrektur gilt weiterhin.

Ändern wir den Code, um diesen Fehler zu behandeln. Ersetzen Sie in Program.csden Code für case "d": durch den folgenden 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.ToDouble(Console.ReadLine());
                }
                Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                break;

Nachdem Sie den Code ersetzt haben, sollte der Abschnitt mit der switch-Anweisung dem folgenden Screenshot ähneln:

Screenshot mit dem überarbeiteten Abschnitt

Wenn Sie nun eine beliebige Zahl durch Null dividieren, fragt die App nach einer anderen Zahl und fragt weiterhin, bis Sie eine nichtzero-Nummer angeben.

Screenshot eines Konsolenfensters mit einer wiederholten Eingabeaufforderung zur Angabe einer nichtzero-Nummer.

Beheben des Fehlers Format

Geben Sie ein alphabetisches Zeichen ein, während die App ein numerisches Zeichen erwartet, friert die App ein. Visual Studio zeigt Ihnen, was im Code-Editor falsch ist.

Screenshot, das einen nicht behandelten Formatfehler im Code-Editor von Visual Studio zeigt.

Ein Screenshot, der einen unbehandelten Formatfehler im Code-Editor von Visual Studio zeigt.

Um diese Ausnahme zu verhindern, können Sie den zuvor eingegebenen Code umgestalten.

Überarbeiten des Codes

Anstatt sich auf die program Klasse zum Behandeln des gesamten Codes zu verlassen, können Sie Ihre App in zwei Klassen unterteilen: Calculator und Program.

Die Calculator Klasse behandelt den Großteil der Berechnungsarbeit, und die Program Klasse behandelt die Benutzeroberfläche und Fehlerbehandlung.

Fangen wir an.

  1. Löschen Sie in Program.csalles, und fügen Sie die folgende neue Calculator Klasse hinzu:

    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. Fügen Sie außerdem wie folgt eine neue Program Klasse hinzu:

    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 a numeric 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 a numeric 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. Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.

  4. Folgen Sie den Eingabeaufforderungen, und dividieren Sie die Zahl 42 durch die Zahl 119. Ihre Ergebnisse sollten ähnlich wie der folgende Screenshot aussehen:

    Screenshot: Konsolenfenster mit der umgestalteten Calculator-App.

    Sie können jetzt weitere Berechnungen ausführen, bis Sie die Konsolen-App schließen möchten. Es gibt auch weniger Dezimalstellen in den Ergebnissen. Und wenn Sie ein falsches Zeichen eingeben, erhalten Sie eine entsprechende Fehlerantwort.

Überarbeiten des Codes

Anstatt sich auf die program Klasse zum Behandeln des gesamten Codes zu verlassen, können Sie Ihre App in zwei Klassen unterteilen: Calculator und Program.

Die Calculator Klasse behandelt den Großteil der Berechnungsarbeit, und die Program Klasse behandelt die Benutzeroberfläche und Fehlerbehandlung.

Fangen wir an.

  1. Löschen Sie in Program.csalles, und fügen Sie die folgende neue Calculator Klasse hinzu:

    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. Fügen Sie außerdem wie folgt eine neue Program Klasse hinzu:

    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.
                // Use Nullable types (with ?) to match type of System.Console.ReadLine
                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 a numeric 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 a numeric 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();
    
                // Validate input is not null, and matches the pattern
                if (op == null || ! Regex.IsMatch(op, "[a|s|m|d]"))
                {
                   Console.WriteLine("Error: Unrecognized input.");
                }
                else
                { 
                   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;
        }
    }
    

    Anmerkung

    Es ist am sinnvollsten, nullfähige Typen (mit dem ?-Symbol) für die Eingabezeichenfolgen zu verwenden, da System.Console.ReadLine einen nullfähigen Bezugstypzurückgibt.

  3. Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.

  4. Folgen Sie den Eingabeaufforderungen, und dividieren Sie die Zahl 42 durch die Zahl 119. Ihre Ergebnisse sollten ähnlich wie der folgende Screenshot aussehen:

    Screenshot: Konsolenfenster mit der umgestalteten Calculator-App.

    Sie können jetzt weitere Berechnungen ausführen, bis Sie die Konsolen-App schließen möchten. Es gibt auch weniger Dezimalstellen in den Ergebnissen. Und wenn Sie ein falsches Zeichen eingeben, erhalten Sie eine entsprechende Fehlerantwort.

Schließen der App

  1. Wenn Sie dies noch nicht getan haben, schließen Sie die Rechner-App.

  2. Schließen Sie das Ausgabefeld in Visual Studio.

    Screenshot, der das Schließen des Ausgabebereichs in Visual Studio zeigt.

  3. Drücken Sie in Visual Studio STRG+S, um Ihre App zu speichern.

Git-Quellcodeverwaltung hinzufügen

Nachdem Sie nun über eine Anwendung verfügen, können Sie sie einem Git-Repository hinzufügen. Visual Studio erleichtert diesen Prozess mit Git-Tools, die Sie direkt über die IDE verwenden können.

Tipp

Git ist das am häufigsten verwendete moderne Versionssteuerungssystem. Ganz gleich, ob Sie ein professioneller Entwickler sind oder gerade lernen zu coden, Git kann sehr nützlich sein. Wenn Sie noch nicht mit Git arbeiten, ist die https://git-scm.com/ Website ein guter Ausgangspunkt. Sie finden Spickzettel, ein beliebtes Online-Buch und Git Basics-Videos.

Um Ihren Code git zuzuordnen, erstellen Sie zunächst ein neues Git-Repository, in dem sich Ihr Code befindet:

  1. Wählen Sie in der Statusleiste unten rechts von Visual Studio Zur Quellcodeverwaltung hinzufügenaus, und wählen Sie dann Git-aus.

    Screenshot, der zeigt, wie Sie auf die Git-Quellcodeverwaltungsaktion von

  2. Melden Sie sich im Dialogfeld Erstellen eines Git-Repositorys bei GitHub an:

    Screenshot des Dialogfelds

    Der Repositoryname wird basierend auf Ihrem Ordnerspeicherort automatisch aufgefüllt. Ihr neues Repository ist standardmäßig privat, was bedeutet, dass Sie die einzige Person sind, die darauf zugreifen kann.

    Tipp

    Unabhängig davon, ob Ihr Repository öffentlich oder privat ist, empfiehlt es sich, eine Remotesicherung Ihres Codes sicher auf GitHub zu speichern. Auch wenn Sie nicht mit einem Team arbeiten, stellt ein Remote-Repository Ihren Code von jedem Computer aus zur Verfügung.

  3. Wählen Sie Erstellen und pushen aus. Nachdem Sie Ihr Repository erstellt haben, werden statusdetails in der Statusleiste angezeigt:

    Screenshot der Repository-Statusleiste unterhalb des Projektmappen-Explorers in Visual Studio.

Verwenden von Git-Aktionen in Visual Studio

Hier ist eine kurze Zusammenfassung der Git-Aktionen, die in der Visual Studio-Statusleiste verfügbar sind:

  • Die Pfeile Nach oben/unten zeigen, wie viele ausgehende/eingehende Commits sich in Ihrem Current Branch befinden. Sie können dieses Symbol verwenden, um alle eingehenden Commits abzurufen oder ausgehende Commits zu übertragen.

  • Um einen bestimmten Commit anzuzeigen, wählen Sie den Pfeil Nach oben/unten aus, und wählen Sie dann Ausgehende/eingehende anzeigen aus.

  • Das Symbol mit dem Stift zeigt Ihnen die Anzahl der Änderungen ohne Commits an Ihrem Code an. Sie können dieses Symbol auswählen, um diese Änderungen im fenster Git Changes anzuzeigen.

Das menü Git stellt Tools für Repositoryaktionen für Ihre Dateien bereit. Sie können die Git-Optionen zum „fetch“, „pull“, „push“ und „sync“ für die Versionskontrolle in Visual Studio verwenden.

Weitere Informationen zur Verwendung von Git mit Ihrer App finden Sie unter Informationen zu Git in Visual Studio.

Überprüfung: Code abgeschlossen

In diesem Tutorial haben Sie viele Änderungen an der Rechner-Anwendung vorgenommen. Die App behandelt jetzt Computerressourcen effizienter und behandelt die meisten Benutzereingabefehler.

Hier sehen Sie den vollständigen Code an einer zentralen Stelle:


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


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.
            // Use Nullable types (with ?) to match type of System.Console.ReadLine
            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 a numeric 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 a numeric 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();

            // Validate input is not null, and matches the pattern
            if (op == null || ! Regex.IsMatch(op, "[a|s|m|d]"))
            {
                Console.WriteLine("Error: Unrecognized input.");
            }
            else
            { 
                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ächster Schritt

Fahren Sie mit dem zweiten Teil dieses Lernprogramms fort: