Öğretici: Visual Studio'da basit bir C# konsol uygulaması oluşturma (bölüm 1 / 2)

Bu öğreticide, Visual Studio'yu kullanarak bir C# konsol uygulaması oluşturup çalıştıracak ve Visual Studio tümleşik geliştirme ortamının (IDE) bazı özelliklerini keşfedeceksiniz. Bu öğretici, iki bölümden oluşan bir öğretici serisinin 1. bölümüdür.

Bu öğreticide aşağıdaki görevleri tamamlaacaksınız:

  • Visual Studio projesi oluşturun.
  • C# konsol uygulaması oluşturun.
  • Uygulamanızda hata ayıklama.
  • Uygulamanızı kapatın.
  • Kodunuzun tamamını inceleyin.

Bu öğreticinin 2. bölümünde, daha fazla proje eklemek, hata ayıklama püf noktalarını öğrenmek ve Microsoft dışı paketlere başvurmak için bu uygulamayı genişletirsiniz.

Önkoşullar

Visual Studio yüklü olmalıdır.

Visual Studio'nuz yoksa, onu ücretsiz yüklemek için Visual Studio indirmeleri gidin.

Proje oluşturma

Başlamak için bir C# uygulama projesi oluşturun. Proje türü, ihtiyacınız olan tüm şablon dosyalarıyla birlikte gelir.

  1. Visual Studio'yu açın ve başlangıç penceresinde Yeni proje oluştur seçin.

    Yeni proje oluştur penceresini gösteren ekran görüntüsü.

  2. Yeni proje oluşturma penceresinde, dil açılan listesinden C# seçin. Platform listesinden Windows ve proje türleri listesinden Konsol seçin.

    Dil, platform ve proje türü filtrelerini uyguladıktan sonra Konsol Uygulaması şablonunu ve ardından İleri seçin.

    Not

    Konsol Uygulaması şablonunu görmüyorsanız, Daha fazla araç ve özellik yükleseçeneğini seçin.

    Daha fazla araç ve özellik yükle bağlantısını gösteren ekran görüntüsü.

    Visual Studio Yükleyicisi'nde .NET Core platformlar arası geliştirme iş yükünü seçin.

    Visual Studio Yükleyicisi'ndeki .NET Core platformlar arası geliştirme iş yükünü gösteren ekran görüntüsü.

    Visual Studio Yükleyicisi'nde 'a gidip Değiştir'i seçin. Çalışmanızı kaydetmeniz istenebilir. İş yükünü yüklemek için Devam'ı seçin.

    Proje oluşturma yordamının 2. adıma dönün.

  3. Yeni projenizi yapılandırın penceresinde, Hesap makinesi yazın veya Proje adı kutusuna girin. Ardından İleriseçin.

    Visual Studio'daki 'Yeni projenizi yapılandırın' penceresinde projenize 'Hesap Makinesi' adını verme işlemini gösteren ekran görüntüsü.

  4. İlave Bilgiler penceresinde, Hedef Çerçeve alanında .NET Core 3.1 göründüğünü kontrol edin. Ardından Oluşturöğesini seçin.

    Visual Studio'da yeni projenin hedef çerçevesi olarak .NET Core 3.1'i gösteren Ek bilgi penceresinin ekran görüntüsü.

Visual Studio, varsayılan Hello World kodunu içeren yeni projenizi açar. Düzenleyicide görüntülemek için Çözüm Gezgini penceresinde Program.cs kod dosyasını seçin. Bu dosya genellikle Visual Studio'nun sağ tarafındadır.

Varsayılan Hello World kodu, konsol penceresinde değişmez dizesi Hello, World! görüntülemek için WriteLine yöntemini çağırır. F5 tuşuna basarsanız, varsayılan programı Hata Ayıklama modunda çalıştırabilirsiniz. Uygulama hata ayıklayıcıda çalıştırıldıktan sonra konsol penceresi açık kalır. Konsol penceresini kapatmak için herhangi bir tuşa basın.

  1. Visual Studio'yu açın ve başlangıç penceresinde Yeni proje oluştur seçin.

    Yeni proje oluştur penceresini gösteren ekran görüntüsü.

  2. Yeni proje oluştur penceresinde, dil açılan listesinden C# seçin. Platform listesinden Windows ve proje türleri listesinden Konsol seçin.

    Dil, platform ve proje türü filtrelerini uyguladıktan sonra Konsol Uygulaması şablonunu ve ardından İleri seçin.

    Not

    Konsol Uygulaması şablonunu görmüyorsanız daha fazla araç ve özellik yükle seçin.

    Daha fazla araç ve özellik yükle bağlantısını gösteren ekran görüntüsü.

    Visual Studio Yükleyicisi'nde .NET masaüstü geliştirme iş yükünü seçin.

    Visual Studio Yükleyicisi'ndeki .NET masaüstü geliştirme iş yükünü gösteren ekran görüntüsü.

    Visual Studio Yükleyicisi'nde 'a gidip Değiştir'i seçin. Çalışmanızı kaydetmeniz istenebilir. İş yükünü yüklemek için Devam'ı seçin.

    Bu Proje oluşturma yordamındaki 2. adıma dönün.

  3. Yeni projenizi yapılandırın penceresinde, Hesap Makinesi yazın veya girin Proje adı kutusuna ve ardından İleriseçin.

    Visual Studio'daki 'Yeni projenizi yapılandırın' penceresinde projenizi 'Hesap Makinesi' olarak adlandırmayı gösteren ekran görüntüsü.

  4. Ek bilgiler penceresinde Hedef Çerçeve alanı için .NET 8.0 seçin. Ardından Oluşturöğesini seçin.

    Visual Studio'da yeni proje için hedef çerçeve olarak .NET 8.0'ın seçili olduğunu gösteren Ek bilgi penceresinin ekran görüntüsü.

Visual Studio, varsayılan Hello World kodunu içeren yeni projenizi açar. Düzenleyicide görüntülemek için Çözüm Gezgini penceresinde Program.cs kod dosyasını seçin. Bu dosya genellikle Visual Studio'nun sağ tarafındadır.

Kod satırı, konsol penceresinde 'Hello, World!' değişmez dizesini görüntülemek için WriteLine yöntemini çağırır. F5 tuşuna basarsanız, varsayılan programı Hata Ayıklama modunda çalıştırabilirsiniz. Uygulama hata ayıklayıcıda çalıştırıldıktan sonra konsol penceresi açık kalır. Konsol penceresini kapatmak için herhangi bir tuşa basın.

Not

.NET 6'dan başlayarak, konsol şablonunu kullanan yeni projeler önceki sürümlerden farklı kodlar oluşturur. Daha fazla bilgi edinmek için bkz. Yeni C# şablonlarıüst düzey deyimler oluşturuyor.

Uygulamayı oluşturma

Bu bölümde aşağıdaki görevleri tamamlaacaksınız:

  • C# dilinde bazı temel tamsayı matematiklerini keşfedin.
  • Temel hesap makinesi uygulaması oluşturmak için kod ekleyin.
  • Hataları bulmak ve düzeltmek için uygulamada hata ayıklama.
  • Kodu daha verimli hale getirmek için sadeleştirin.

Tamsayı matematiği keşfetme

C# dilinde bazı temel tamsayı matematikleriyle başlayın.

  1. Sağ bölmede Program.cs'ı seçerek dosyayı kod düzenleyicisinde görüntüleyin.

  2. Kod düzenleyicisinde varsayılan Hello World kodunu silin.

    Yeni hesap makinesi uygulamanızdan silinecek varsayılan Hello World kodunu gösteren ekran görüntüsü.

    Özellikle Console.WriteLine("Hello World!");ifadesini içeren satırı silin.

  3. Yerine aşağıdaki kodu girin:

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

    Kodu girdiğinizde Visual Studio'daki IntelliSense özelliğinin size girişi otomatik tamamlama seçeneği sunduğuna dikkat edin.

    Visual Studio IDE'deki IntelliSense otomatik tamamlama özelliğini gösteren tamsayı matematik kodunun animasyonu.

  4. Programınızı oluşturmak ve çalıştırmak için Hesap makinesi yanındaki yeşil Başlangıç düğmesini seçin veya F5 tuşuna basın.

    Uygulamayı araç çubuğundan çalıştırmak için Hesap Makinesi düğmesini gösteren ekran görüntüsü.

    161olan 42 + 119 toplamını gösteren bir konsol penceresi açılır.

    Tamsayı matematik sonuçlarını içeren bir konsol penceresini gösteren ekran görüntüsü.

  5. (İsteğe bağlı) sonucu değiştirmek için işlecini değiştirebilirsiniz. Örneğin, + kod satırındaki int c = a + b; işlecini çıkarma için -, çarpma için * veya bölme için / olarak değiştirebilirsiniz. Ardından, programı çalıştırdığınızda sonuç da değişir.

  6. Konsol penceresini kapatın.

  1. Çözüm Gezginisağ bölmede Program.cs seçerek dosyayı kod düzenleyicisinde görüntüleyin.

  2. Kod düzenleyicisinde, yazan varsayılan Hello World kodunu Console.WriteLine("Hello World!");ile değiştirin.

    Program dosyasında değiştirecek satırı gösteren ekran görüntüsü.

    satırını aşağıdaki kodla değiştirin:

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

    Kodu girerseniz Visual Studio IntelliSense özelliği size girişi otomatik tamamlama seçeneği sunar.

    Visual Studio IDE'deki IntelliSense otomatik tamamlama özelliğini gösteren tamsayı matematik kodunun animasyonu.

  3. Uygulamanızı derlemek ve çalıştırmak için F5tuşlarına basın veya üst araç çubuğunda hesap makinesi adının yanındaki yeşil oku seçin.

    Uygulamayı Hata Ayıklama araç çubuğundan çalıştırmak için Hesap Makinesi düğmesini seçmeyi gösteren ekran görüntüsü.

    161 42 + 119 toplamını gösteren bir konsol penceresi açılır.

    Tamsayı matematik sonuçlarını gösteren Konsol penceresinin ekran görüntüsü.

  4. Konsol penceresini kapatın.

  5. (İsteğe bağlı) sonucu değiştirmek için işlecini değiştirebilirsiniz. Örneğin, + kod satırındaki int c = a + b; işlecini çıkarma için -, çarpma için * veya bölme için / olarak değiştirebilirsiniz. Uygulamayı çalıştırdığınızda sonuç buna göre değişir.

Hesap makinesi oluşturmak için kod ekleme

Projenize daha karmaşık bir hesap makinesi kodu kümesi ekleyerek devam edin.

  1. Kod düzenleyicisinde, Program.cs içindeki tüm kodu aşağıdaki yeni kodla değiştirin:

        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. Hesap makinesi düğmesini seçin veya uygulamanızı çalıştırmak için F5 basın.

    Bir konsol penceresi açılır.

  3. Konsol penceresinde, 42 ve 119 sayılarını toplamak için istemleri izleyin.

    Uygulamanız aşağıdaki ekran görüntüsüne benzer görünmelidir:

    Hesap Makinesi uygulamasının istemlerle gösterildiği Konsol penceresinin ekran görüntüsü.

  1. Kod düzenleyicisinde, Program.cs içindeki tüm kodu aşağıdaki yeni kodla değiştirin:

        // 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. Hesap makinesi düğmesini seçin veya uygulamanızı çalıştırmak için F5 basın.

    Bir konsol penceresi açılır.

  3. Konsol penceresinde, 42 ve 119 sayılarını toplamak için istemleri izleyin.

    Uygulamanız aşağıdaki ekran görüntüsüne benzer görünmelidir:

    Hesap Makinesi uygulamasını içeren bir Konsol penceresinin istemlerle gösterildiği ekran görüntüsü.

Ondalık işlevsellik ekleme

Şimdi daha fazla işlevsellik eklemek için kodu değiştirin.

Geçerli hesap makinesi uygulaması yalnızca tam sayıları kabul eder ve döndürür. Örneğin, uygulamayı çalıştırır ve 42 sayısını 119 sayısına bölerseniz, sonucunuz sıfır olur ve bu tam değildir.

Hesap Makinesi uygulamasının kesin olmayan bir tamsayı olarak sonucu döndürdüğünü gösteren Konsol penceresinin ekran görüntüsü.

Ondalıkları işleyerek duyarlığı geliştirecek kodu düzeltmek için:

  1. Visual Studio düzenleyicisindeki Program.csCtrl+H tuşlarına basarak Bul ve Değiştir denetimini açın.

  2. Kontrole int yazın ve Değiştir alanına float yazın.

  3. Büyük/Küçük Harf Duyarlılığını Eşleştir ve Tüm Sözcüğü Eşleştir simgelerini seçin veya Alt+C ve Alt+Wtuşlarına basın.

  4. "Tümünü Değiştir" simgesini seçin veya arama ve değiştirme işlemini çalıştırmak için Alt + tuşlarınabasın.

    int değişkeninin float olarak nasıl değiştirileceğini gösteren Bul ve Değiştir denetiminin animasyonunu .

  5. Hesap makinesi uygulamanızı yeniden çalıştırın ve 42 sayısını 119 sayısına bölün.

    Uygulama artık sıfır yerine ondalık bir sayı döndürür.

    Hesap Makinesi uygulamasının sonuç olarak ondalık sayı döndürdüğünü gösteren Konsol penceresinin ekran görüntüsü.

    Artık uygulama ondalık sonuçlar üretebilir. Uygulamanın ondalık değerleri de hesaplayabilmesi için kodda birkaç değişiklik daha yapın.

  6. değişkeninin her örneğini floatolarak değiştirmek ve double yönteminin her örneğini Convert.ToInt32olarak değiştirmek için Convert.ToDouble denetimini kullanın.

  7. Hesap makinesi uygulamanızı çalıştırın ve 42,5 sayısını 119,75 sayısına bölün.

    Uygulama artık ondalık değerleri kabul eder ve sonuç olarak daha uzun bir ondalık sayı döndürür.

    Artık ondalık sayıları kabul eden ve daha uzun bir ondalık sonuç döndüren Hesap Makinesi uygulamasını gösteren Konsol penceresinin ekran görüntüsü.

    Kod düzelt bölümünde, sonuçlardaki ondalık basamak sayısını azaltırsınız.

Uygulamada hata ayıklama

Temel hesap makinesi uygulamanızı geliştirdiniz, ancak uygulamanız henüz kullanıcı girişi hataları gibi özel durumları işlemez. Örneğin, kullanıcılar sıfıra bölmeye çalışırsa veya beklenmeyen bir karakter girerse, uygulama çalışmayı durdurabilir, hata döndürebilir veya beklenmeyen sayısal olmayan bir sonuç döndürebilir.

Birkaç yaygın kullanıcı girişi hatasına göz atalım, hata ayıklayıcıda varsa bunları bulalım ve kodda düzeltelim.

Bahşiş

Hata ayıklayıcısı ve nasıl çalıştığı hakkında daha fazla bilgi için bkz. Visual Studio hata ayıklayıcıilk bakış.

sıfıra bölme hatasını düzeltme

Bir sayıyı sıfıra bölmeye çalışırsanız konsol uygulaması donabilir ve ardından size kod düzenleyicisinde neyin yanlış olduğunu gösterir.

Sarı renkle vurgulanmış bir satırı ve 'Sıfıra bölme girişimi' için İşlenmeyen Özel Durum hatasını gösteren Visual Studio kod düzenleyicisinin ekran görüntüsü.

Not

Bazen uygulama donmuyor ve hata ayıklayıcı sıfıra bölme hatası göstermiyor. Bunun yerine, uygulama sonsuzluk simgesi gibi beklenmeyen sayısal olmayan bir sonuç döndürebilir. Aşağıdaki kod düzeltmesi yine de geçerlidir.

Şimdi bu hatayı işlemek için kodu değiştirelim. Program.csiçinde, case "d": kodunu aşağıdaki kodla değiştirin:

            // 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;

Kodu değiştirdikten sonra, switch deyiminin olduğu bölüm aşağıdaki ekran görüntüsüne benzer olmalıdır:

Visual Studio kod düzenleyicisinde anahtar bölümünün düzeltilmiş halini gösteren ekran görüntüsü.

Artık herhangi bir sayıyı sıfıra böldüğünüzde uygulama başka bir sayı ister ve sıfır olmayan bir sayı sağlayana kadar sorup duruyor.

Sıfır olmayan bir sayı sağlamak için yinelenen bir istem içeren Konsol penceresinin ekran görüntüsü.

biçimi hatasını düzeltme

Uygulama sayısal bir karakter beklediğinde alfabetik bir karakter girerseniz uygulama donar. Visual Studio, kod düzenleyicisinde neyin yanlış olduğunu gösterir.

Visual Studio kod düzenleyicisinde işlenmeyen biçim hatasını gösteren ekran görüntüsü.

Visual Studio kod düzenleyicisinde işlenmeyen biçim hatasını gösteren ekran görüntüsü.

Bu özel durumu önlemek için daha önce girdiğiniz kodu yeniden düzenleyebilirsiniz.

Kodu gözden geçirme

Tüm kodu işlemek için program sınıfına güvenmek yerine uygulamanızı iki sınıfa bölebilirsiniz: Calculator ve Program.

Calculator sınıfı hesaplama işinin büyük bir kısmını işler ve Program sınıfı kullanıcı arabirimini ve hata işleme işini işler.

Haydi başlayalım.

  1. Program.csiçinde her şeyi silin ve aşağıdaki yeni Calculator sınıfını ekleyin:

    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. Ayrıca aşağıdaki gibi yeni bir Program sınıfı ekleyin:

    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. Hesap makinesi düğmesini seçin veya uygulamanızı çalıştırmak için F5 basın.

  4. İstemleri izleyin ve 42 sayısını 119sayısına bölün. Sonuçlarınız aşağıdaki ekran görüntüsüne benzer olmalıdır:

    Yeniden düzenlenmiş Hesap Makinesi uygulamasını içeren konsol penceresini gösteren ekran görüntüsü.

    Artık konsol uygulamasını kapatmayı seçene kadar daha fazla hesaplama çalıştırabilirsiniz. Sonuçlarda daha az ondalık basamak da vardır. Yanlış bir karakter girerseniz uygun bir hata yanıtı alırsınız.

Kodu gözden geçirme

Tüm kodu işlemek için program sınıfına güvenmek yerine uygulamanızı iki sınıfa bölebilirsiniz: Calculator ve Program.

Calculator sınıfı hesaplama işinin büyük bir kısmını işler ve Program sınıfı kullanıcı arabirimini ve hata işleme işini işler.

Haydi başlayalım.

  1. Program.csiçinde her şeyi silin ve aşağıdaki yeni Calculator sınıfını ekleyin:

    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. Ayrıca aşağıdaki gibi yeni bir Program sınıfı ekleyin:

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

    Not

    giriş dizeleri için null atanabilir türler (? simgesiyle) kullanmak en iyisidir çünkü System.Console.ReadLinenull atanabilir başvuru türü döndürür.

  3. Hesap makinesi düğmesini seçin veya uygulamanızı çalıştırmak için F5 basın.

  4. İstemleri izleyin ve 42 sayısını 119sayısına bölün. Sonuçlarınız aşağıdaki ekran görüntüsüne benzer olmalıdır:

    Yeniden düzenlenmiş Hesap Makinesi uygulamasını içeren konsol penceresini gösteren ekran görüntüsü.

    Artık konsol uygulamasını kapatmayı seçene kadar daha fazla hesaplama çalıştırabilirsiniz. Sonuçlarda daha az ondalık basamak da vardır. Yanlış bir karakter girerseniz uygun bir hata yanıtı alırsınız.

Uygulamayı kapatma

  1. Henüz yapmadıysanız Hesap Makinesi uygulamasını kapatın.

  2. Visual Studio'da Çıktı bölmesini kapatın.

    Visual Studio'da Çıkış bölmesini kapatmayı gösteren ekran görüntüsü.

  3. Visual Studio'da, uygulamanızı kaydetmek için Ctrl+S basın.

Git kaynak denetimi ekleme

Artık bir uygulamanız olduğuna göre, bunu bir Git deposuna eklemek isteyebilirsiniz. Visual Studio, doğrudan IDE'den kullanabileceğiniz Git araçlarıyla bu işlemi kolaylaştırır.

Bahşiş

Git, en yaygın kullanılan modern sürüm denetim sistemidir. İster profesyonel bir geliştirici olun, ister kod oluşturmayı öğrenin, Git çok yararlı olabilir. Git'i kullanmaya yeni başladıysanız, https://git-scm.com/ web sitesi başlamak için iyi bir yerdir. Hile sayfalarını, popüler bir çevrimiçi kitabı ve Git Temel Bilgileri videolarını bulabilirsiniz.

Kodunuzu Git ile ilişkilendirmek için, kodunuzun bulunduğu yeni bir Git deposu oluşturarak işe başlayın:

  1. Visual Studio'nun sağ alt kısmındaki durum çubuğunda Kaynak Denetimine Ekleseçeneğini seçin ve ardından Gitseçeneğini seçin.

    Visual Studio'da Kaynak Denetimine Ekle'den Git kaynak denetimi eylemine nasıl erişildiğini gösteren ekran görüntüsü.

  2. Git deposu oluştur iletişim kutusunda GitHub'da oturum açın:

    GitHub'da oturum açabileceğiniz Git Deposu Oluştur iletişim penceresinin ekran görüntüsü.

    Depo adı, klasör konumunuza göre otomatik olarak doldurulur. Yeni deponuz varsayılan olarak özeldir ve bu da depoya erişebilecek tek kişinin siz olduğunuz anlamına gelir.

    Bahşiş

    Deponuzun genel veya özel olması fark etmeksizin kodunuzun uzaktan yedeğinin GitHub'da güvenli bir şekilde depolanması en iyisidir. Bir ekiple çalışmasanız bile, uzak bir depo kodunuzu herhangi bir bilgisayardan kullanımınıza sağlar.

  3. oluştur ve gönder seçin. Deponuzu oluşturduktan sonra durum çubuğunda durum ayrıntılarını görürsünüz:

    Visual Studio'da Çözüm Gezgini bölmesinin altındaki depo durum çubuğunun ekran görüntüsü.

Visual Studio'da Git eylemlerini kullanma

Visual Studio durum çubuğunda bulunan Git eylemlerinin kısa bir özeti aşağıdadır:

  • Yukarı/Aşağı okları geçerli dalınızda kaç giden/gelen işleme olduğunu gösterir. Gelen değişiklikleri çekmek veya giden değişiklikleri göndermek için bu simgeyi kullanabilirsiniz.

  • Belirli bir commit'i görüntülemek için Yukarı/Aşağı okunu seçin ve ardından Giden/GelenGöster'i seçin.

  • Pencil kodunuzda kaydedilmemiş değişikliklerin sayısını gösterir. Bu değişiklikleri Git Değişiklikleri penceresinde görüntülemek için bu simgeyi seçebilirsiniz.

Git menüsü, dosyalarınızdaki depo eylemleri için araçlar sağlar. Visual Studio'da sürüm denetimi için git getirme, çekme, gönderme ve eşitlemekullanabilirsiniz.

Git'i uygulamanızla kullanma hakkında daha fazla bilgi için bkz. Visual Studio'da Git Hakkında .

Gözden Geçirme: Kod tamamlandı

Bu öğreticide Hesap Makinesi uygulamasında birçok değişiklik yaptınız. Uygulama artık bilgi işlem kaynaklarını daha verimli işler ve kullanıcı giriş hatalarının çoğunu işler.

İşte kodun tamamı tek bir yerde:


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

Sonraki adım

Bu öğreticinin ikinci bölümüyle devam edin: