Öğretici: Visual Studio 'da basit bir C# konsol uygulaması oluşturmaTutorial: Create a simple C# console app in Visual Studio

C# için bu öğreticide, Visual Studio 'yu kullanarak bir konsol uygulaması oluşturup çalıştırabilir ve bunu yaparken Visual Studio tümleşik geliştirme ortamının (IDE) bazı özelliklerini keşfedebilirsiniz.In this tutorial for C#, you'll use Visual Studio to create and run a console app and explore some features of the Visual Studio integrated development environment (IDE) while you do so.

Visual Studio 'Yu henüz yüklemediyseniz, Visual Studio İndirmeleri sayfasına giderek ücretsiz olarak yükleme yapın.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Visual Studio 'Yu henüz yüklemediyseniz, Visual Studio İndirmeleri sayfasına giderek ücretsiz olarak yükleme yapın.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Proje oluşturmaCreate a project

Başlamak için bir C# uygulama projesi oluşturacağız.To start, we'll create a C# application project. Proje türü, ihtiyacınız olan tüm şablon dosyaları ile birlikte gelir, hatta herhangi bir şey eklemeden önce!The project type comes with all the template files you'll need, before you've even added anything!

  1. Visual Studio 2017'yi açın.Open Visual Studio 2017.

  2. Üstteki menü çubuğundan Dosya > Yeni > Proje' yi seçin.From the top menu bar, choose File > New > Project. (Alternatif olarak, CTRL + tuşuna basın SHIFT + N).(Alternatively, press Ctrl+Shift+N).

  3. Yeni proje iletişim kutusunun sol bölmesinde, C#' ı genişletin ve ardından .NET Core' u seçin.In the left pane of the New Project dialog box, expand C#, and then choose .NET Core. Orta bölmede konsol uygulaması (.NET Core) öğesini seçin.In the middle pane, choose Console App (.NET Core). Ardından dosya Hesaplayıcıadını adlandırın.Then name the file Calculator.

    Visual Studio IDE 'de yeni proje iletişim kutusundaki konsol uygulaması (.NET Core) proje şablonu

İş yükü ekleme (isteğe bağlı)Add a workload (optional)

Konsol uygulaması (.NET Core) proje şablonunu görmüyorsanız, .NET Core platformlar arası geliştirme iş yükünü ekleyerek buna ulaşabilirsiniz.If you don't see the Console App (.NET Core) project template, you can get it by adding the .NET Core cross-platform development workload. Aşağıdaki adımları uygulayın:Here's how.

Seçenek 1: yeni proje iletişim kutusunu kullanmaOption 1: Use the New Project dialog box

  1. Yeni proje iletişim kutusunun sol bölmesindeki Visual Studio yükleyicisi aç bağlantısını seçin.Choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

    Yeni proje iletişim kutusundan Visual Studio Yükleyicisi Aç bağlantısını seçin

  2. Visual Studio Yükleyicisi başlatılır.The Visual Studio Installer launches. .NET Core platformlar arası geliştirme iş yükünü seçin ve ardından Değiştir' i seçin.Choose the .NET Core cross-platform development workload, and then choose Modify.

    Visual Studio Yükleyicisi .NET Core platformlar arası geliştirme iş yükü

2. seçenek: Araçlar menü çubuğunu kullanmaOption 2: Use the Tools menu bar

  1. Yeni proje iletişim kutusunu iptal edin ve üst menü çubuğundan Araçlar > Araçlar ve Özellikler al' ı seçin.Cancel out of the New Project dialog box and from the top menu bar, choose Tools > Get Tools and Features.

  2. Visual Studio Yükleyicisi başlatılır.The Visual Studio Installer launches. .NET Core platformlar arası geliştirme iş yükünü seçin ve ardından Değiştir' i seçin.Choose the .NET Core cross-platform development workload, and then choose Modify.

  1. Visual Studio 2019 ' i açın.Open Visual Studio 2019.

  2. Başlangıç penceresinde Yeni proje oluştur' u seçin.On the start window, choose Create a new project.

    ' Yeni proje oluştur ' penceresini görüntüleyin

  3. Yeni proje oluştur penceresinde, arama kutusuna konsol girin veya yazın.On the Create a new project window, enter or type console in the search box. Ardından, dil listesinden C# öğesini seçin ve ardından platform listesinden Windows ' u seçin.Next, choose C# from the Language list, and then choose Windows from the Platform list.

    Dil ve platform filtrelerini uyguladıktan sonra konsol uygulaması (.NET Core) şablonunu seçin ve ardından İleri' yi seçin.After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

    Konsol uygulaması için C# şablonunu seçin (.NET Framework)

    Not

    Konsol uygulaması (.NET Core) şablonunu görmüyorsanız, Yeni proje oluştur penceresinden yükleyebilirsiniz.If you do not see the Console App (.NET Core) template, you can install it from the Create a new project window. Aradığınızı bulamıyor musunuz? iletisi için daha fazla araç ve özellik yüklemeyi seçin bağlantısına tıklayın.In the Not finding what you're looking for? message, choose the Install more tools and features link.

    ' Yeni proje oluştur ' penceresindeki ' daha fazla araç ve özellik yüklemesi ' ' ne aradığınızı bulma ' iletisi bağlantısı

    Sonra, Visual Studio Yükleyicisi .NET Core platformlar arası geliştirme iş yükünü seçin.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

    Visual Studio Yükleyicisi .NET Core platformlar arası geliştirme iş yükü

    Bundan sonra Visual Studio Yükleyicisi Değiştir düğmesini seçin.After that, choose the Modify button in the Visual Studio Installer. İşinizi kaydetmeniz istenebilir; Öyleyse, bunu yapın.You might be prompted to save your work; if so, do so. Sonra, iş yükünü yüklemek için devam ' ı seçin.Next, choose Continue to install the workload. Ardından, bu "Proje oluşturma" yordamında 2. adıma geri dönün.Then, return to step 2 in this "Create a project" procedure.

  4. Yeni projeyi yapılandırın penceresinde, Proje adı kutusuna Hesaplayıcı yazın veya girin.In the Configure your new project window, type or enter Calculator in the Project name box. Ardından Oluştur' u seçin.Then, choose Create.

    ' yeni projenizi yapılandırın ' penceresinde, projenizi ' Hesaplayıcı ' olarak adlandırın

    Visual Studio, varsayılan "Merhaba Dünya" kodunu içeren yeni projenizi açar.Visual Studio opens your new project, which includes default "Hello World" code.

Uygulama oluşturmaCreate the app

İlk olarak, C# ' de bazı temel tamsayı matematiğini araştıracağız.First, we'll explore some basic integer math in C#. Daha sonra, temel bir Hesaplayıcı oluşturmak için kod ekleyeceğiz.Then, we'll add code to create a basic calculator. Bundan sonra, hataları bulmak ve gidermek için uygulamada hata ayıklaması yapacağız.After that, we'll debug the app to find and fix errors. Son olarak, kodu daha verimli hale getirmek için belirginleştireceğiz.And finally, we'll refine the code to make it more efficient.

Tamsayı matematiğini incelemeExplore integer math

C# ' de bazı temel tamsayı matematiğe başlayalım.Let's start with some basic integer math in C#.

  1. Kod Düzenleyicisi 'nde varsayılan "Merhaba Dünya" kodunu silin.In the code editor, delete the default "Hello World" code.

    Yeni Hesaplayıcı uygulamanızdan varsayılan Merhaba Dünya kodunu silme

    Özellikle, belirten satırı silin Console.WriteLine("Hello World!"); .Specifically, delete the line that says, Console.WriteLine("Hello World!");.

  2. Onun yerine, aşağıdaki kodu yazın:In its place, type the following code:

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

    Bunu yaptığınızda, Visual Studio 'daki IntelliSense özelliğinin girişi otomatik tamamlama seçeneğini sunduğunu unutmayın.Notice that when you do so, the IntelliSense feature in Visual Studio offers you the option to autocomplete the entry.

    Not

    Aşağıdaki animasyon, önceki kodun yinelenmesine yönelik değildir.The following animation isn't intended to duplicate the preceding code. Yalnızca otomatik tamamlama özelliğinin nasıl çalıştığını göstermek için tasarlanmıştır.It's intended only to show how the autocomplete feature works.

    Visual Studio IDE 'de IntelliSense otomatik tamamlama özelliğini gösteren tamsayı matematik kodu animasyonu

  3. Çalışma Hesaplayıcı ' ın yanındaki yeşil Başlat düğmesini seçerek programınızı derleyip çalıştırın veya F5tuşuna basın.Choose the green Start button next to Calculator to build and run your program, or press F5.

    Uygulamayı araç çubuğundan çalıştırmak için hesaplayıcı düğmesini seçin

    42 + 119 toplamını gösteren bir konsol penceresi açılır ve bu da 161.A console window opens that reveals the sum of 42 + 119, which is 161.

    Tamsayı matematiğinin sonuçlarını gösteren konsol penceresi

  4. (Isteğe bağlı) Sonucu değiştirmek için işlecini değiştirebilirsiniz.(Optional) You can change the operator to change the result. Örneğin, + int c = a + b; kod satırındaki işleci - çıkarma, * çarpma veya bölme için olarak değiştirebilirsiniz / .For example, you can change the + operator in the int c = a + b; line of code to - for subtraction, * for multiplication, or / for division. Ardından, programı çalıştırdığınızda, sonuç de değişir.Then, when you run the program, the result changes, too.

  5. Konsol penceresini kapatın.Close the console window.

Hesaplayıcı oluşturmak için kod eklemeAdd code to create a calculator

Projenize daha karmaşık bir hesap makinesi kodu kümesi ekleyerek devam edelim.Let's continue by adding a more complex set of calculator code to your project.

  1. Kod düzenleyicisinde gördüğünüz tüm kodu silin.Delete all the code you see in the code editor.

  2. Aşağıdaki yeni kodu kod düzenleyicisine girin veya yapıştırın:Enter or paste the following new code into the code editor:

    using System;
    
    namespace Calculator
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Declare variables and then initialize to zero.
                int num1 = 0; int num2 = 0;
    
                // Display title as the C# console calculator app.
                Console.WriteLine("Console Calculator in C#\r");
                Console.WriteLine("------------------------\n");
    
                // Ask the user to type the first number.
                Console.WriteLine("Type a number, and then press Enter");
                num1 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to type the second number.
                Console.WriteLine("Type another number, and then press Enter");
                num2 = Convert.ToInt32(Console.ReadLine());
    
                // Ask the user to choose an option.
                Console.WriteLine("Choose an option from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");
    
                // Use a switch statement to do the math.
                switch (Console.ReadLine())
                {
                    case "a":
                        Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
                        break;
                    case "s":
                        Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
                        break;
                    case "m":
                        Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
                        break;
                    case "d":
                        Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
                        break;
                }
                // Wait for the user to respond before closing.
                Console.Write("Press any key to close the Calculator console app...");
                Console.ReadKey();
            }
        }
    }
    
  3. Programınızı çalıştırmak için Hesaplayıcı ' ı seçin veya F5tuşuna basın.Choose Calculator to run your program, or press F5.

    Uygulamayı araç çubuğundan çalıştırmak için hesaplayıcı düğmesini seçin

    Bir konsol penceresi açılır.A console window opens.

  4. Konsol penceresinde uygulamanızı görüntüleyin ve sonra 42 ve 119sayılarını eklemek için istemleri izleyin.View your app in the console window, and then follow the prompts to add the numbers 42 and 119.

    Uygulamanız aşağıdaki ekran görüntüsüne benzer görünmelidir:Your app should look similar to the following screenshot:

    Hesap makinesi uygulamasını gösteren konsol penceresi ve hangi eylemlerin alınacağı hakkında komut istemleri içerir

Hesap makinesine işlevsellik eklemeAdd functionality to the calculator

Daha fazla işlevsellik eklemek için kodu ince ayar.Let's tweak the code to add further functionality.

Ondalık sayı EkleAdd decimals

Hesaplayıcı uygulaması şu anda kabul ediyor ve tüm sayıları döndürüyor.The calculator app currently accepts and returns whole numbers. Ancak, ondalıkla izin veren kodu eklediğimiz takdirde daha kesin olacaktır.But, it will be more precise if we add code that allows for decimals.

Aşağıdaki ekran görüntüsünde olduğu gibi, uygulamayı çalıştırırsanız ve 42 sayısını 119 olarak bölebiliyorsanız, sonucu 0 (sıfır) olur ve bu da tam değildir.As in the following screenshot, if you run the app and divide number 42 by the number 119, your result is 0 (zero), which isn't exact.

Sonuç olarak ondalık sayı döndürmeyen Hesaplayıcı uygulamasını gösteren konsol penceresi

Onlukları işleyecek şekilde kodu düzeldelim.Let's fix the code so that it handles decimals.

  1. Ctrl + Bul ve Değiştir denetimini açmak için CTRLH tuşuna basın.Press Ctrl + H to open the Find and Replace control.

  2. Değişkenin her örneğini olarak değiştirin int float .Change each instance of the int variable to float.

    Bul ve Değiştir denetiminde eşleşme büyük/küçük harf (alt + C) ve tüm kelimeyi Eşleştir (alt + W) Find and Replace ' i değiştirdiğinizden emin olun.Make sure that you toggle Match case (Alt+C) and Match whole word (Alt+W) in the Find and Replace control.

    Int değişkeninin float olarak nasıl değiştirileceğini gösteren bul ve Değiştir denetiminin animasyonu

  3. Hesaplayıcı uygulamanızı yeniden çalıştırın ve 42 sayısını 119sayısına bölün.Run your calculator app again and divide the number 42 by the number 119.

    Uygulamanın artık sıfır yerine ondalık sayı döndürdüğünden emin olun.Notice that the app now returns a decimal numeral instead of zero.

    Artık sonuç olarak ondalık sayı döndüren Hesaplayıcı uygulamasını gösteren konsol penceresi

Ancak, uygulama yalnızca bir ondalık sonuç üretir.However, the app produces only a decimal result. Uygulamanın Onlukları da hesaplayabilmesi için daha fazla sayıda kod verelim.Let's make a few more tweaks to the code so that the app can calculate decimals too.

  1. Değişkenin her birCtrlörneğini olarak değiştirmek ve yönteminin her bir örneğini olarak değiştirmek için Bul ve Değiştir denetimini (Ctrl + H) kullanın float double Convert.ToInt32 Convert.ToDouble .Use the Find and Replace control (Ctrl + H) to change each instance of the float variable to double, and to change each instance of the Convert.ToInt32 method to Convert.ToDouble.

  2. Hesaplayıcı uygulamanızı çalıştırın ve 42,5 sayısını 119,75sayısına bölün.Run your calculator app and divide the number 42.5 by the number 119.75.

    Uygulamanın artık ondalık değerleri kabul ettiğini ve sonuç olarak daha uzun bir ondalık sayı döndürdüğünden emin olun.Notice that the app now accepts decimal values and returns a longer decimal numeral as its result.

    Artık ondalık sayıları kabul eden ve sonuç olarak daha uzun bir ondalık sayı döndüren Hesaplayıcı uygulamasını gösteren konsol penceresi

    ( Kodu gözden geçirme bölümünde ondalık basamak sayısını düzeltireceğiz.)(We'll fix the number of decimal places in the Revise the code section.)

Uygulamada hata ayıklamaDebug the app

Temel Hesaplayıcı uygulamamız geliştirdik, ancak kullanıcı giriş hataları gibi özel durumları işlemek için henüz başarısız oldu.We've improved on our basic calculator app, but it doesn't yet have fail safes in place to handle exceptions, such as user input errors.

Örneğin, bir sayıyı sıfıra bölmek veya uygulama sayısal bir karakter beklerken (veya tersi) bir Alfa karakteri girerseniz, uygulama çalışmayı durdurabilir, bir hata döndürebilir veya beklenmedik bir sayısal sonuç döndürebilir.For example, if you try to divide a number by zero, or enter an alpha character when the app expects a numeric character (or vice versa), the app might stop working, return an error, or return an unexpected nonnumeric result.

Birkaç ortak kullanıcı girişi hatasını gözden geçirelim, orada görüntiklerinde bunları hata ayıklayıcıda bulalım ve kodda çözme.Let's walk through a few common user input errors, locate them in the debugger if they appear there, and fix them in the code.

İpucu

Hata ayıklayıcı ve nasıl çalıştığı hakkında daha fazla bilgi için Visual Studio hata ayıklayıcısı sayfasına ilk göz atın.For more information about the debugger and how it works, see the First look at the Visual Studio debugger page.

"Sıfıra bölme" hatasını çözmeFix the "divide by zero" error

Bir sayıyı sıfıra bölmeye çalıştığınızda, konsol uygulaması donabilir ve ardından kod düzenleyicisinde neyin yanlış olduğunu gösterebilir.When you try to divide a number by zero, the console app might freeze and then show you what's wrong in the code editor.

Visual Studio kod Düzenleyicisi, sıfıra bölme hatasını gösterir

Not

Bazen uygulama dondurmaz ve hata ayıklayıcı sıfıra bölme hatası göstermez.Sometimes, the app doesn't freeze and the debugger won't show a divide-by-zero error. Bunun yerine, uygulama sonsuz bir simge gibi beklenmedik bir sayısal sonuç döndürebilir.Instead, the app might return an unexpected nonnumeric result, such as an infinity symbol. Aşağıdaki kod düzeltilmesi hala geçerlidir.The following code fix still applies.

Bu hatayı işlemek için kodu değiştirelim.Let's change the code to handle this error.

  1. İle doğrudan görüntülenen kodu case "d": ve yazılı açıklamayı silin // Wait for the user to respond before closing .Delete the code that appears directly between case "d": and the comment that says // Wait for the user to respond before closing.

  2. Aşağıdaki kodla değiştirin:Replace it with the following code:

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

    Kodu ekledikten sonra, ifadesiyle olan bölüm switch aşağıdaki ekran görüntüsüne benzer şekilde görünmelidir:After you add the code, the section with the switch statement should look similar to the following screenshot:

    Visual Studio kod Düzenleyicisi 'ndeki düzeltilen "anahtar" bölümü

Böylece, herhangi bir sayıyı sıfıra böldüğünüzde, uygulama başka bir sayı ister.Now, when you divide any number by zero, the app will ask for another number. Daha da iyisi: sıfır dışında bir sayı sağlamadan önce sorma ' ı durdurmaz.Even better: It won't stop asking until you provide a number other than zero.

Visual Studio kod Düzenleyicisi, sıfıra bölme hatasını gösterir

"Biçim" hatasını çözmeFix the "format" error

Uygulama sayısal bir karakter beklediği zaman bir Alfa karakteri girerseniz (veya tersi), konsol uygulaması donuyor.If you enter an alpha character when the app expects a numeric character (or vice versa), the console app freezes. Daha sonra Visual Studio, kod düzenleyicisinde neyin yanlış olduğunu gösterir.Visual Studio then shows you what's wrong in the code editor.

Visual Studio kod Düzenleyicisi bir biçim hatası gösterir

Bu hatayı onarmak için, daha önce girmiş olduğumuz kodu yeniden düzenlemeniz gerekir.To fix this error, we must refactor the code that we've previously entered.

Kodu gözden geçirinRevise the code

programTüm kodu işlemek için sınıfa güvenin yerine uygulamamızı iki sınıfa böleceğiz: Calculator ve Program .Rather than rely on the program class to handle all the code, we'll divide our app into two classes: Calculator and Program.

CalculatorSınıfı, hesaplama işinin toplu işini işleymeyecektir ve Program sınıfı kullanıcı arabirimini ve hata yakalama işini idare eder.The Calculator class will handle the bulk of the calculation work, and the Program class will handle the user interface and error-capturing work.

Haydi başlayalım.Let's get started.

  1. CalculatorAd alanındaki açılış ve kapanış ayraçları arasındaki her şeyi silin:Delete everything in the Calculator namespace between its opening and closing braces:

    using System;
    
    namespace Calculator
    {
    
    }
    
  2. Ardından, Calculator aşağıdaki gibi yeni bir sınıf ekleyin:Next, add a new Calculator class, as follows:

    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error.
    
            // Use a switch statement to do the math.
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor.
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry.
                default:
                    break;
            }
            return result;
        }
    }
    
    
  3. Ardından, Program aşağıdaki gibi yeni bir sınıf ekleyin:Then, add a new Program class, as follows:

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

  5. İstemleri izleyin ve 42 sayısını 119sayısına bölün.Follow the prompts and divide the number 42 by the number 119. Uygulamanız aşağıdaki ekran görüntüsüne benzer görünmelidir:Your app should look similar to the following screenshot:

    Yeniden düzenlenmiş Hesaplayıcı uygulamasını gösteren ve hatalı girişler için hata işlemeye yönelik komut istemlerini içeren konsol penceresi

    Konsol uygulamasını kapatmayı seçinceye kadar daha fazla denklem girme seçeneğiniz olduğuna dikkat edin.Notice that you have the option to enter more equations until you choose to close the console app. Ayrıca, sonucun ondalık basamak sayısını da azalttık.And, we've also reduced the number of decimal places in the result.

Uygulamayı kapatClose the app

  1. Daha önce yapmadıysanız, hesaplayıcı uygulamasını kapatın.If you haven't already done so, close the calculator app.

  2. Visual Studio 'da Çıkış bölmesini kapatın.Close the Output pane in Visual Studio.

    Visual Studio 'da çıkış bölmesini kapatma

  3. Visual Studio 'da, Ctrl + uygulamanızı kaydetmek için CTRLS tuşuna basın.In Visual Studio, press Ctrl+S to save your app.

  4. Visual Studio’yu kapatın.Close Visual Studio.

Kod TamamCode complete

Bu öğreticide, hesaplayıcı uygulamasında çok fazla değişiklik yaptık.During this tutorial, we've made a lot of changes to the calculator app. Uygulama, işlem kaynaklarını daha verimli bir şekilde işler ve çoğu kullanıcı giriş hatasını işler.The app now handles computing resources more efficiently, and it handles most user input errors.

Hepsi tek bir yerde olmak üzere kodun tamamı aşağıda verilmiştir:Here's the complete code, all in one place:


using System;

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

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

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

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

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

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

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

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

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

                string op = Console.ReadLine();

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

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

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

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

Sonraki adımlarNext steps

Bu öğreticinin ikinci kısmıyla devam edin:Continue with the second part of this tutorial:

Ayrıca bkz.See also