Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku użyjesz programu Visual Studio do utworzenia i uruchomienia aplikacji konsolowej języka C#, a także zapoznasz się z niektórymi funkcjami zintegrowanego środowiska projektowego (IDE) programu Visual Studio. Ten samouczek jest częścią 1 dwuczęściowej serii samouczków.
W tym samouczku wykonasz następujące zadania:
- Utwórz projekt programu Visual Studio.
- Utwórz aplikację konsolową języka C#.
- Debugowanie aplikacji.
- Zamknij aplikację.
- Sprawdź kompletny kod.
W części 2 tego samouczka rozszerzysz tę aplikację, aby dodać więcej projektów, poznać wskazówki debugowania i odwołać się do pakietów innych niż Microsoft.
Wymagania wstępne
Musisz mieć zainstalowany program Visual Studio.
Jeśli nie masz programu Visual Studio, przejdź do strony pobierania Visual Studio, aby go zainstalować bezpłatnie.
Tworzenie projektu
Aby rozpocząć, utwórz projekt aplikacji w języku C#. Typ projektu jest dostarczany ze wszystkimi potrzebnymi plikami szablonów.
Otwórz program Visual Studio i wybierz pozycję Utwórz nowy projekt w oknie uruchamiania.
W oknie Tworzenie nowego projektu wybierz pozycję C# z listy rozwijanej język. Wybierz pozycję Windows z listy platformy i pozycję Konsola z listy typów projektów.
Po zastosowaniu filtrów języka, platformy i typu projektu wybierz szablon Aplikacja konsolowa , a następnie wybierz przycisk Dalej.
Uwaga / Notatka
Jeśli nie widzisz szablonu Aplikacja konsolowa , wybierz pozycję Zainstaluj więcej narzędzi i funkcji.
W Instalatorze programu Visual Studio wybierz pakiet wieloplatformowego programowania .NET Core.
Wybierz pozycję Modyfikuj w Instalatorze programu Visual Studio. Może zostać wyświetlony monit o zapisanie pracy. Wybierz pozycję Kontynuuj , aby zainstalować obciążenie.
Wróć do kroku 2 w procedurze Tworzenie projektu .
W oknie Konfigurowanie nowego projektu wpisz Kalkulator w polu Nazwa projektu. Następnie wybierz Dalej.
W oknie Dodatkowe informacje sprawdź, czy platforma .NET Core 3.1 jest wyświetlana w polu Platforma docelowa . Następnie wybierz przycisk Utwórz.
Program Visual Studio otwiera nowy projekt, który zawiera domyślny kod Hello World . Aby wyświetlić go w edytorze, wybierz plik kodu Program.cs w oknie Eksplorator rozwiązań, który zazwyczaj znajduje się po prawej stronie programu Visual Studio.
Domyślny kod Hello World wywołuje metodę WriteLine , aby wyświetlić ciąg literału Hello, World! w oknie konsoli. Po naciśnięciu F5 możesz uruchomić program domyślny w trybie debugowania. Po uruchomieniu aplikacji w debugerze okno konsoli pozostanie otwarte. Naciśnij dowolny, aby zamknąć okno konsoli.
Otwórz program Visual Studio i wybierz pozycję Utwórz nowy projekt w oknie uruchamiania.
W oknie Tworzenie nowego projektu wybierz pozycję C# z listy rozwijanej język. Wybierz pozycję Windows z listy platformy i pozycję Konsola z listy typów projektów.
Po zastosowaniu filtrów języka, platformy i typu projektu wybierz szablon Aplikacja konsolowa , a następnie wybierz przycisk Dalej.
Uwaga / Notatka
Jeśli nie widzisz szablonu Aplikacja konsolowa , wybierz pozycję Zainstaluj więcej narzędzi i funkcji.
W Instalatorze programu Visual Studio wybierz pakiet .NET Desktop Development.
Wybierz pozycję Modyfikuj w Instalatorze programu Visual Studio. Może zostać wyświetlony monit o zapisanie pracy. Wybierz pozycję Kontynuuj , aby zainstalować obciążenie.
Wróć do kroku 2 w tej procedurze Tworzenie projektu .
W oknie Konfigurowanie nowego projektu wpisz lub wprowadź Kalkulator w polu Nazwa projektu, a następnie wybierz Dalej.
W oknie Dodatkowe informacje wybierz pozycję .NET 8.0 dla pola Platforma docelowa . Następnie wybierz przycisk Utwórz.
Program Visual Studio otwiera nowy projekt, który zawiera domyślny kod Hello World . Aby wyświetlić go w edytorze, wybierz plik kodu Program.cs w oknie Eksplorator rozwiązań, który zazwyczaj znajduje się po prawej stronie programu Visual Studio.
Jednolinijkowy kod wywołuje metodę WriteLine, aby wyświetlić ciąg literału Hello, World! w oknie konsoli. Po naciśnięciu F5 możesz uruchomić program domyślny w trybie debugowania. Po uruchomieniu aplikacji w debugerze okno konsoli pozostanie otwarte. Naciśnij dowolny, aby zamknąć okno konsoli.
Uwaga / Notatka
Począwszy od platformy .NET 6, nowe projekty przy użyciu szablonu konsoli generują inny kod niż poprzednie wersje. Aby dowiedzieć się więcej, zobacz Nowe szablony języka C# generują instrukcje najwyższego poziomu.
Tworzenie aplikacji
W tej sekcji wykonasz następujące zadania:
- Zapoznaj się z podstawową matematyczną liczbą całkowitą w języku C#.
- Dodaj kod, aby utworzyć podstawową aplikację kalkulatora.
- Debuguj aplikację, aby znaleźć i naprawić błędy.
- Uściślij kod, aby był bardziej wydajny.
Eksplorowanie matematycznych liczb całkowitych
Zacznij od podstawowej matematyki całkowitej w języku C#.
W okienku po prawej stronie wybierz Program.cs, aby wyświetlić plik w edytorze kodu.
W edytorze kodu usuń domyślny kod Hello World .
W szczególności usuń wiersz, który zawiera
Console.WriteLine("Hello World!");.W jego miejscu wprowadź następujący kod:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();Zwróć uwagę, że po wprowadzeniu kodu funkcja IntelliSense w programie Visual Studio oferuje opcję autouzupełniania wpisu.
Wybierz zielony przycisk Start obok pozycji Kalkulator , aby skompilować i uruchomić program, lub naciśnij F5.
Zostanie otwarte okno konsoli, które ujawnia sumę 42 + 119, czyli 161.
(Opcjonalnie) Możesz zmienić operator, aby zmienić wynik. Można na przykład zmienić operator
+w wierszu koduint c = a + b;na-w celu odejmowania, na*dla mnożenia lub na/dla dzielenia. Następnie po uruchomieniu programu wynik się zmienia.Zamknij okno konsoli.
W Eksploratorze rozwiązań w okienku po prawej stronie wybierz pozycję Program.cs , aby wyświetlić plik w edytorze kodu.
W edytorze kodu zastąp domyślny kod Hello World o nazwie
Console.WriteLine("Hello World!");.
Zastąp wiersz następującym kodem:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();Jeśli wprowadzisz kod, funkcja IntelliSense programu Visual Studio oferuje opcję autouzupełniania wpisu.
Aby skompilować i uruchomić aplikację, naciśnij F5 lub wybierz zieloną strzałkę obok nazwy Kalkulator na górnym pasku narzędzi.
Zostanie otwarte okno konsoli zawierające sumę 42 + 119, czyli 161.
Zamknij okno konsoli.
(Opcjonalnie) Możesz zmienić operator, aby zmienić wynik. Można na przykład zmienić operator
+w wierszu koduint c = a + b;na-w celu odejmowania, na*dla mnożenia lub na/dla dzielenia. Po uruchomieniu aplikacji wynik zmieni się odpowiednio.
Dodawanie kodu w celu utworzenia kalkulatora
Kontynuuj, dodając bardziej złożony zestaw kodu kalkulatora do projektu.
W edytorze kodu zastąp cały kod w Program.cs następującym nowym kodem:
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(); } } }Wybierz przycisk Kalkulator lub naciśnij F5 , aby uruchomić aplikację.
Zostanie otwarte okno konsoli.
W oknie konsoli postępuj zgodnie z monitami, aby dodać numery 42 i 119 razem.
Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
W edytorze kodu zastąp cały kod w Program.cs następującym nowym kodem:
// 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();Wybierz przycisk Kalkulator lub naciśnij F5 , aby uruchomić aplikację.
Zostanie otwarte okno konsoli.
W oknie konsoli postępuj zgodnie z monitami, aby dodać numery 42 i 119 razem.
Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:
Dodawanie funkcji dziesiętnych
Teraz dostosuj kod, aby dodać więcej funkcji.
Bieżąca aplikacja kalkulatora akceptuje tylko liczby całkowite i zwraca je. Jeśli na przykład uruchomisz aplikację i podzielisz liczbę 42 przez liczbę 119, wynik wynosi zero, co nie jest dokładne.
Aby naprawić kod w celu poprawienia dokładności poprzez obsługę liczb dziesiętnych:
Z Program.cs w edytorze programu Visual Studio naciśnij Ctrl+H , aby otworzyć kontrolkę Znajdź i Zamień .
Wpisz int w kontrolce i wpisz float w polu Zamień .
Wybierz ikony Dopasowania wielkości liter i Dopasuj cały wyraz w kontrolce lub naciśnij Alt+C i Alt+W.
Wybierz ikonę Zamień wszystkie lub naciśnij Alt+A , aby uruchomić wyszukiwanie i zastąpić.
Ponownie uruchom aplikację kalkulatora i podziel liczbę 42 na liczbę 119.
Aplikacja zwraca teraz liczbę dziesiętną zamiast zera.
Teraz aplikacja może wygenerować wyniki dziesiętne. Wprowadź kilka dodatkowych poprawek w kodzie, aby aplikacja mogła również obliczyć liczby dziesiętne.
Użyj kontrolki Znajdź i Zamień , aby zmienić każde wystąpienie zmiennej
floatnadouble, i zmienić każde wystąpienieConvert.ToInt32metody naConvert.ToDouble.Uruchom aplikację kalkulatora i podziel liczbę 42,5 przez liczbę 119,75.
Aplikacja akceptuje teraz wartości dziesiętne i zwraca dłuższą liczbę dziesiętną w wyniku.
W sekcji Popraw kod można zmniejszyć liczbę miejsc dziesiętnych w wynikach.
Debugowanie aplikacji
Ulepszono podstawową aplikację kalkulatora, ale aplikacja nie obsługuje jeszcze wyjątków, takich jak błędy danych wejściowych użytkownika. Jeśli na przykład użytkownicy próbują podzielić przez zero lub wprowadzić nieoczekiwany znak, aplikacja może przestać działać, zwrócić błąd lub zwrócić nieoczekiwany nieliczbowy wynik.
Przyjrzyjmy się kilku typowym błędom danych wejściowych użytkownika, znajdźmy je w debugerze, jeśli się tam pojawią, i naprawmy je w kodzie.
Wskazówka
Aby uzyskać więcej informacji na temat debugera i sposobu jego działania, zobacz Pierwsze spojrzenie na debuger programu Visual Studio.
Napraw błąd dzielenia przez zero
Jeśli spróbujesz podzielić liczbę przez zero, aplikacja konsolowa może się zablokować, a następnie wyświetla, co jest nie tak w edytorze kodu.
Uwaga / Notatka
Czasami aplikacja nie zawiesza się, a debuger nie wyświetla błędu dzielenia przez zero. Zamiast tego aplikacja może zwrócić nieoczekiwany wynik nieliczbowy, taki jak symbol nieskończoności. Poniższa poprawka kodu nadal ma zastosowanie.
Zmieńmy kod, aby obsłużyć ten błąd. W Program.cs zastąp kod dla case "d": następującym kodem:
// 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;
Po zastąpieniu kodu sekcja instrukcją switch powinna wyglądać podobnie do poniższego zrzutu ekranu:
Teraz, gdy dzielisz dowolną liczbę przez zero, aplikacja prosi o inną liczbę i ciągle prosi o podanie liczby niezerowej.
Naprawianie błędu formatu
Jeśli wprowadzisz znak alfabetyczny, gdy aplikacja oczekuje znaku liczbowego, aplikacja zawiesza się. Program Visual Studio pokazuje, co jest nie tak w edytorze kodu.
Aby zapobiec temu wyjątkowi, możesz refaktoryzować wcześniej wprowadzony kod.
Poprawianie kodu
Zamiast polegać na klasie program do obsługi całego kodu, możesz podzielić swoją aplikację na dwie klasy: Calculator i Program.
Klasa Calculator obsługuje większość pracy obliczeniowej, a Program klasa obsługuje interfejs użytkownika i obsługę błędów.
Zacznijmy.
W Program.cs usuń wszystko i dodaj następującą nową
Calculatorklasę: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; } }Dodaj również nową
Programklasę w następujący sposób: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; } }Wybierz przycisk Kalkulator lub naciśnij F5 , aby uruchomić aplikację.
Postępuj zgodnie z monitami i podziel liczbę 42 przez liczbę 119. Wyniki powinny wyglądać podobnie do poniższego zrzutu ekranu:
Teraz możesz uruchomić więcej obliczeń, dopóki nie zdecydujesz się zamknąć aplikacji konsolowej. W wynikach jest również mniej miejsc dziesiętnych. A jeśli wprowadzisz nieprawidłowy znak, otrzymasz odpowiednią odpowiedź o błędzie.
Poprawianie kodu
Zamiast polegać na klasie program do obsługi całego kodu, możesz podzielić aplikację na dwie klasy: Calculator i Program.
Klasa Calculator obsługuje większość pracy obliczeniowej, a Program klasa obsługuje interfejs użytkownika i obsługę błędów.
Zacznijmy.
W Program.cs usuń wszystko i dodaj następującą nową
Calculatorklasę: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; } }Dodaj również nową
Programklasę w następujący sposób: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; } }Uwaga / Notatka
Najlepiej używać typów nullable (z symbolem
?) dla ciągów wejściowych, ponieważSystem.Console.ReadLinezwraca typ nullable referencyjny.Wybierz przycisk Kalkulator lub naciśnij F5 , aby uruchomić aplikację.
Postępuj zgodnie z monitami i podziel liczbę 42 przez liczbę 119. Wyniki powinny wyglądać podobnie do poniższego zrzutu ekranu:
Teraz możesz uruchomić więcej obliczeń, dopóki nie zdecydujesz się zamknąć aplikacji konsolowej. W wynikach jest również mniej miejsc dziesiętnych. A jeśli wprowadzisz nieprawidłowy znak, otrzymasz odpowiednią odpowiedź o błędzie.
Zamykanie aplikacji
Jeśli jeszcze tego nie zrobiono, zamknij aplikację Kalkulator.
Zamknij okienko Dane wyjściowe w programie Visual Studio.
W programie Visual Studio naciśnij Ctrl+S , aby zapisać aplikację.
Dodaj kontrolę źródła Git
Teraz, gdy masz aplikację, możesz dodać ją do repozytorium Git. Program Visual Studio ułatwia ten proces za pomocą narzędzi Git, których można używać bezpośrednio ze środowiska IDE.
Wskazówka
Git to najczęściej używany nowoczesny system kontroli wersji. Niezależnie od tego, czy jesteś profesjonalnym deweloperem, czy uczysz się kodować, usługa Git może być bardzo przydatna. Jeśli dopiero zaczynasz pracę z usługą Git, witryna internetowa https://git-scm.com/ jest dobrym miejscem do rozpoczęcia. Możesz znaleźć ściągawki, popularną książkę online i wideosy z podstaw Git.
Aby skojarzyć kod z usługą Git, zacznij od utworzenia nowego repozytorium Git, w którym znajduje się kod:
Na pasku stanu w prawym dolnym rogu programu Visual Studio wybierz pozycję Dodaj do kontroli źródła, a następnie wybierz pozycję Git.
W oknie dialogowym Tworzenie repozytorium Git zaloguj się do usługi GitHub:
Nazwa repozytorium jest wypełniana automatycznie na podstawie lokalizacji folderu. Nowe repozytorium jest domyślnie prywatne, co oznacza, że jesteś jedynym, który może uzyskać do niego dostęp.
Wskazówka
Niezależnie od tego, czy repozytorium jest publiczne, czy prywatne, najlepiej mieć zdalną kopię zapasową kodu przechowywanego bezpiecznie w usłudze GitHub. Nawet jeśli nie pracujesz z zespołem, repozytorium zdalne udostępnia ci kod z dowolnego komputera.
Wybierz Utwórz i wypchnij. Po utworzeniu repozytorium na pasku stanu zostaną wyświetlone szczegóły stanu:
Użyj akcji Git w Visual Studio
Oto krótkie podsumowanie akcji usługi Git dostępnych na pasku stanu programu Visual Studio:
Strzałki w górę/w dół pokazują liczbę zatwierdzeń wychodzących/przychodzących w bieżącej gałęzi. Możesz użyć tej ikony, aby pobrać zatwierdzenia przychodzące lub wysłać zatwierdzenia wychodzące.
Aby wyświetlić określone zatwierdzenie, wybierz strzałkę w górę/w dół , a następnie wybierz pozycję Wyświetl wychodzące/przychodzące.
Ołówek przedstawia liczbę niezatwierdzonych zmian w kodzie. Możesz wybrać tę ikonę, aby wyświetlić te zmiany w oknie Git Changes.
Menu Git udostępnia narzędzia do akcji repozytorium w plikach. W programie Visual Studio można używać git fetch, pull, push i sync do kontroli wersji.
Aby uzyskać więcej informacji na temat korzystania z usługi Git z aplikacją, zobacz About Git in Visual Studio (Informacje o usłudze Git w programie Visual Studio).
Przegląd: Code Complete
W tym samouczku wprowadziłeś wiele zmian w aplikacji Kalkulator. Aplikacja obsługuje teraz zasoby obliczeniowe wydajniej i obsługuje większość błędów wejściowych użytkownika.
Oto kompletny kod, wszystko w jednym miejscu:
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;
}
}
Następny krok
Kontynuuj pracę z drugą częścią tego samouczka: