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.
Öffnen Sie Visual Studio, und wählen Sie Erstellen eines neuen Projekts im Startfenster aus.
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.
Wählen Sie im Visual Studio Installer die .NET Core plattformübergreifende Entwicklung Workload aus.
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.
Geben Sie im Fenster Neues Projekt konfigurieren im Feld ProjektnameCalculator ein. Wählen Sie dann Weiteraus.
Überprüfen Sie im Fenster Zusätzliche Informationen, ob .NET Core 3.1- im Feld Zielframework angezeigt wird. Wählen Sie dann Erstellen aus.
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.
Öffnen Sie Visual Studio, und wählen Sie Erstellen eines neuen Projekts im Startfenster aus.
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.
Wählen Sie im Visual Studio-Installer die .NET-Desktopentwicklung Workload aus.
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.
Geben Sie im Fenster Neues Projekt konfigurieren im Feld Projektname den Namen Calculator ein, und wählen Sie dann Weiter aus.
Wählen Sie im Fenster Zusätzliche Informationen im Feld Zielframework die Option .NET 8.0 aus. Wählen Sie dann Erstellen aus.
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#.
Wählen Sie im rechten Bereich Program.cs aus, um die Datei im Code-Editor anzuzeigen.
Löschen Sie im Code-Editor den Standardcode Hello World.
Löschen Sie insbesondere die Zeile, die besagt,
Console.WriteLine("Hello World!");
.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.
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.
Ein Konsolenfenster wird geöffnet, das die Summe von 42 + 119 anzeigt, die 161ist.
(Optional) Sie können den Operator ändern, um das Ergebnis zu ändern. Sie können z. B. den
+
-Operator in derint 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.Schließen Sie das Konsolenfenster.
Wählen Sie im Projektmappen-Explorerim rechten Bereich Program.cs aus, um die Datei im Code-Editor anzuzeigen.
Ersetzen Sie im Code-Editor den Standardcode Hello World, der
Console.WriteLine("Hello World!");
besagt.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.
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.
Ein Konsolenfenster wird geöffnet, in dem die Summe von 42 + 119 angezeigt wird, die 161ist.
Schließen Sie das Konsolenfenster.
(Optional) Sie können den Operator ändern, um das Ergebnis zu ändern. Sie können z. B. den
+
-Operator in derint 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.
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(); } } }
Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.
Ein Konsolenfenster wird geöffnet.
Folgen Sie im Konsolenfenster den Anweisungen, um die Zahlen 42 und 119 zusammenzuzählen.
Ihre App sollte dem folgenden Screenshot ähneln:
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();
Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.
Ein Konsolenfenster wird geöffnet.
Folgen Sie im Konsolenfenster den Anweisungen, um die Zahlen 42 und 119 zusammen hinzuzufügen.
Ihre App sollte dem folgenden Screenshot ähneln:
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.
So korrigieren Sie den Code, um die Genauigkeit durch die Behandlung von Dezimalstellen zu verbessern:
Drücken Sie in Program.cs im Visual Studio-Editor STRG+H, um das Steuerelement Suchen und Ersetzen zu öffnen.
Geben Sie im Steuerelement int in das Suchfeld und float in das Feld Ersetzen ein.
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.
Wählen Sie das Symbol "Alle ersetzen" aus, oder drücken Sie ALT+A, um die Suche auszuführen und zu ersetzen.
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.
Jetzt kann die App dezimale Ergebnisse erzielen. Nehmen Sie einige weitere Optimierungen am Code vor, damit die App auch Dezimalstellen berechnen kann.
Verwenden Sie das Steuerelement Suchen und Ersetzen, um jede Instanz der variablen
float
indouble
zu ändern und jede Instanz derConvert.ToInt32
-Methode inConvert.ToDouble
zu ändern.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.
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.
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:
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.
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.
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.
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; } }
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; } }
Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.
Folgen Sie den Eingabeaufforderungen, und dividieren Sie die Zahl 42 durch die Zahl 119. Ihre Ergebnisse sollten ähnlich wie der folgende Screenshot aussehen:
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.
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; } }
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, daSystem.Console.ReadLine
einen nullfähigen Bezugstypzurückgibt.Wählen Sie die Schaltfläche Calculator aus, oder drücken Sie F5, um Ihre App auszuführen.
Folgen Sie den Eingabeaufforderungen, und dividieren Sie die Zahl 42 durch die Zahl 119. Ihre Ergebnisse sollten ähnlich wie der folgende Screenshot aussehen:
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
Wenn Sie dies noch nicht getan haben, schließen Sie die Rechner-App.
Schließen Sie das Ausgabefeld in Visual Studio.
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:
Wählen Sie in der Statusleiste unten rechts von Visual Studio Zur Quellcodeverwaltung hinzufügenaus, und wählen Sie dann Git-aus.
Melden Sie sich im Dialogfeld Erstellen eines Git-Repositorys bei GitHub an:
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.
Wählen Sie Erstellen und pushen aus. Nachdem Sie Ihr Repository erstellt haben, werden statusdetails in der Statusleiste angezeigt:
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: