Aracılığıyla paylaş


Öğ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.

2. bölümde, daha fazla proje eklemek, hata ayıklama püf noktalarını öğrenmek ve üçüncü taraf paketlerine başvurmak için bu uygulamayı genişletirsiniz.

Önkoşullar

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

Visual Studio'yu henüz yüklemediyseniz ücretsiz yüklemek için Visual Studio indirmeleri sayfasına 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ştur penceresinde Dil listesinden C# seçin. Ardından 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 İleriseçin.

    Not

    Konsol Uygulaması şablonunu görmüyorsanız daha fazla araç ve özellik yükleseç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 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, Proje adı kutusuna Hesap makinesi yazın veya girin. Ardından İleri'yi seç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ında .NET Core 3.1 göründüğünü doğrulayın. 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 "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.

  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, Tüm dillerseçin ve ardından açılan listeden C# seçin. Tüm platformlar listesinden Windows seçin ve Tüm proje türleri listesinden Konsol'ı seçin.

    Dil, platform ve proje türü filtrelerini uyguladıktan sonra Konsol Uygulaması şablonunu ve ardından İleriseç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 masaüstü geliştirme iş yükünü seçin.

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

    Visual Studio Yükleyicisi'nde 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, Proje adı kutusuna Hesap Makinesi yazın ya da girin ve ardından İleriseçeneğini seç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.

Tek bir kod satırı, konsol penceresinde "Hello, World!" sabit dizisini görüntülemek için WriteLine metodunu ç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 Yeni C# şablonlarıyla üst düzey ifadeler oluşturma hakkında bilgi almak üzere sayfasına bakın.

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 iyileştirin.

Tamsayı matematiği keşfetme

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

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

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

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

  2. 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.

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

    Uygulamayı araç çubuğundan çalıştırmak için Hesap Makinesi düğmesini seçmeyi 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ü.

  4. (İsteğe bağlı) sonucu değiştirmek için işlecini değiştirebilirsiniz. Örneğin, int c = a + b; kod satırındaki + 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.

  5. 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, Console.WriteLine("Hello World!");yazan varsayılan "Hello World" kodunu 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.

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

    16142 + 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ı olarak, sonucu değiştirmek için işlecini değiştirebilirsiniz. Örneğin, int c = a + b; kod satırındaki + 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ı birlikte eklemek 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ı birlikte 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ü.

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 bir sonuç olarak kesin olmayan bir tamsayı 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. Denetime int yazın ve Değiştir alanına float yazın.

  3. Büyük/küçük harf eşleştir ve Tam sözcük eşleştir simgelerini denetimde seçin veya Alt+C ve Alt+Wtuşlarına basın.

  4. Tümünü değiştir simgesini seçin veya aramayı ve değiştirmeyi çalıştırmak için Alt+A tuşlarına bası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ı 119sayı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. float değişkeninin her örneğini doubleolarak değiştirmek ve Convert.ToInt32 yönteminin her örneğini Convert.ToDoubleolarak değiştirmek için Bul ve Değiştir denetimini kullanın.

  7. Hesap makinesi uygulamanızı çalıştırın ve 42,5 sayısını 119,75sayı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'i düzeltme 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öl" 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.

Visual Studio kod düzenleyicisinin, bir satırın sarı renkle vurgulandığı ve 'Sıfıra bölme girişimi' için İşlenmemiş İstisna hatasını gösteren 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 bir sayısal olmayan 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 düzeltilmiş değiştirici bölümünü 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çim" 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ü null 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ş / İpucu

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çin ve sonra Gitseç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. Seçin Oluştur ve Gönder. 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 komit olduğunu gösterir. Gelen işlemeleri çekmek veya giden işlemeleri göndermek için bu simgeyi kullanabilirsiniz.

  • Belirli bir işlemeyi görüntülemek için, Yukarı/Aşağı okunu seçin ve ardından Giden/GelenGörüntüle'yi 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şitleme kullanabilirsiniz.

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ımlar

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