Öğretici: Visual Studio'de basit bir C# konsol uygulaması oluşturma (bölüm 1/2)
Bu öğreticide, Visual Studio C# konsol uygulaması oluşturmak ve çalıştırmak ve tümleşik geliştirme ortamının (IDE) Visual Studio keşfetmek için Visual Studio kullanırsınız. Bu öğretici, iki bölümden bir öğretici serisinin 1. bölümü.
Bu öğreticide şunları yaptınız:
- Yeni bir Visual Studio oluşturun.
- Bir C# konsol uygulaması oluşturun.
- Uygulamanıza hata ayıklama.
- Uygulamanızı kapatın.
- Kodunuzun tamamını inceleme.
2. bölümde,daha fazla proje eklemek, hata ayıklama püf noktalarını öğrenmek ve üçüncü taraf paketlerine başvuru yapmak için bu uygulamayı genişletebilirsiniz.
Önkoşullar
Yüklü bir Visual Studio gerekir.
Henüz yüklemedıysanız Visual Studio yüklemek için Visual Studio indirmeler sayfasına gidin.
Henüz yüklemedıysanız Visual Studio yüklemek için Visual Studio indirmeler 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.
Visual Studio 2017'yi açın.
Üst menü çubuğundan Dosya Yeni Dosya'Project. > >
(Alternatif olarak Ctrl tuşuna basın + Üstkrkt + N ).Yeni Çalışma Alanı iletişim kutusunun sol Project C# öğesini genişletin ve .NET Core'ı seçin. Orta bölmede Konsol Uygulaması (.NET Core) 'ı seçin. Ardından dosyayı Hesaplayıcı olarak adlayın.

İş yükü ekleme (isteğe bağlı)
Konsol Uygulaması (.NET Core) proje şablonunu görmüyorsanız,.NET Core platformlar arası geliştirme iş yükünü ekleyerek bu şablonu edinebilirsiniz. Aşağıdaki adımları uygulayın:
1. Seçenek: Yeni Project iletişim kutusunu kullanın
Yeni Visual Studio Yükleyicisi iletişim kutusunun sol bölmesindeKimlik aç Project seçin.

Visual Studio Yükleyicisi başlatıyor. .NET Core platformlar arası geliştirme iş yükünü ve ardından Değiştir'i seçin.

2. Seçenek: Araçlar menü çubuğunu kullanma
Yeni Görünüm iletişim kutusundan Project ve üst menü çubuğunda Araçlar Araçları ve Özellikleri > Al'ı seçin.
Visual Studio Yükleyicisi başlatıyor. .NET Core platformlar arası geliştirme iş yükünü ve ardından Değiştir'i seçin.
Yeni Visual Studio'yi açın ve Başlangıç penceresinde Yeni proje oluştur'a tıklayın.

Yeni proje oluştur penceresinde Dil listesinden C# dilini seçin. Ardından, Windows listesinden Platform listesinden Ve Konsol'dan Seç'i seçin.
Dil, platform ve proje türü filtrelerini uygulayan Konsol Uygulaması şablonunu ve ardından Sonraki'yi seçin.
Not
Konsol Uygulaması şablonunu görmüyorsanız Daha fazla araç ve özellik yükle'yi seçin.

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

Bundan sonra, dosyanın üst Visual Studio Yükleyicisi. Çalışmanızı kaydetmeniz isteniyor olabilir; varsa, bunu yap. Ardından, iş yükünü yüklemek için Devam'ı seçin. Ardından bu "Proje oluşturma" yordamının2. adımınageri dön.
Yeni projenizi yapılandır penceresine Hesaplayıcı yazın veya Project girin. Ardından, Sonraki'yi seçin.
Ek bilgiler penceresinde hedef çerçeveniz için .NET Core 3.1 zaten seçilmiş olması gerekir. Yoksa .NET Core 3.1'i seçin. Ardından Oluştur'a seçin.
Visual Studio projenizi açar ve bu da varsayılan "Merhaba Dünya" kodunu içerir.
Yeni Visual Studio'yi açın ve Başlangıç penceresinde Yeni proje oluştur'a tıklayın.

Yeni proje oluştur penceresinde Tüm diller'i ve ardından açılan listeden C# öğesini seçin. Tüm Windows listesinden Tüm platformlar'ı seçin ve Tüm proje türleri listesinden Konsol'a tıklayın.
Dil, platform ve proje türü filtrelerini uygulayan Konsol Uygulaması şablonunu ve ardından Sonraki'yi seçin.
Not
Konsol Uygulaması şablonunu görmüyorsanız Daha fazla araç ve özellik yükle'yi seçin.

Uygulamanın Visual Studio Yükleyicisi .NET masaüstü geliştirme iş yükünü ve ardından Değiştir'i seçin.

Yeni projenizi yapılandır penceresine Hesap makinesi adı kutusuna Hesaplayıcı yazın veya Project'yi seçin.

Ek bilgiler penceresinde hedef çerçeveniz için .NET 6.0 zaten seçilmiş olması gerekir. Oluştur’u seçin.

Visual Studio projenizi açar ve bu da varsayılan "Merhaba Dünya" kodunu içerir.
Uygulama oluşturma
Bu bölümde şunları yapacaksınız:
- C# ile bazı temel tamsayı matematiklerini keşfedin.
- Temel bir hesap makinesi uygulaması oluşturmak için kod ekleyin.
- Hataları bulmak ve düzeltmek için uygulamada hata ayıklama.
- Kodu geliştirin ve daha verimli hale getirir.
Tamsayı matematiğini inceleme
C# ile bazı temel tamsayı matematikleriyle başlama.
Kod düzenleyicisinde varsayılan "Merhaba Dünya silin.

Özellikle şöyle bir satır
Console.WriteLine("Hello World!");silin: .Yerine aşağıdaki kodu yazın:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();Bunu yapmak için Visual Studio'daki IntelliSense özelliğinin girişi otomatik tamamlama seçeneği sunduğuna dikkat edin.
Not
Aşağıdaki animasyon, önceki kodu yinelemek için amaçlanan bir animasyondur. Yalnızca otomatik tamamlama özelliğinin nasıl çalıştığını göstermek için tasarlanmıştır.

Programlarınızı derlemek ve çalıştırmak için Hesaplayıcı'nın yanındaki yeşil Başlat düğmesini seçin veya F5 tuşuna basın.

42 + 119 toplamını (161) ortaya koyan bir konsol penceresi açılır.

(İsteğe bağlı) Sonucu değiştirmek için işleci değiştirebilirsiniz. Örneğin, kod satırındaki işleci çıkarma, çarpma veya
+int c = a + b;bölme için olarak-*/değiştirebilirsiniz. Ardından programı çalıştırarak sonuç da değişir.Konsol penceresini kapatın.
Dosya Çözüm Gezgini, sağ bölmede Program.cs'yi seçerek dosyayı kod düzenleyicisinde görüntüleyin
Kod düzenleyicisinde, varsayılan "Merhaba Dünya" kodunu
Console.WriteLine("Hello World!");değiştirin.
satırı aşağıdaki kodla değiştirin:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();Kodu yazabilirseniz, Visual Studio IntelliSense özelliği girişi otomatik tamamlama seçeneği sunar.
Not
Aşağıdaki animasyon önceki kodu göstermek için değil, yalnızca IntelliSense'in nasıl çalıştığını göstermek için tasarlanmıştır.

Uygulamanızı derlemek ve çalıştırmak için F5 tuşuna basın veya üst araç çubuğunda Hesaplayıcı adının yanındaki yeşil oku seçin.

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

Konsol penceresini kapatın.
İsteğe bağlı olarak, sonucu değiştirmek için işleci değiştirebilirsiniz. Örneğin, kod satırındaki işleci çıkarma, çarpma veya
+int c = a + b;bölme için olarak-*/değiştirebilirsiniz. Uygulamayı çalıştırarak sonuç uygun şekilde değişir.
Hesap makinesi oluşturmak için kod ekleme
Projenize daha karmaşık bir hesap makinesi kodu kümesi ekleyerek devam edebilirsiniz.
Kod düzenleyicisinde program.cs'de yer alan 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(); } } }Hesaplayıcı düğmesini seçin veya F5 tuşuna basarak uygulamanızı çalıştırın.
Bir konsol penceresi açılır.
Konsol penceresinde, 42 ve 119 numaralarını birlikte eklemek için istemleri izleyin.
Uygulamanın aşağıdaki ekran görüntüsüne benzer olması gerekir:

Ondalık işlev ekleme
Şimdi daha fazla işlev eklemek için kodu ince ince ince ayarla.
Geçerli hesap makinesi uygulaması yalnızca tam sayıları kabul eder ve döndürür. Örneğin, uygulamayı çalıştırarak 42 sayısını 119 sayısına böler ve sonucun sıfır olması kesin değildir.

Ondalıkları işerek duyarlığı geliştirmek için kodu düzeltmek için:
Yeni düzenleyicide program.cs Visual Studio Ctrl + H tuşlarına basarak Bul ve Değiştir denetimine basın.
Denetime int yazın ve Değiştir alanına float yazın.
Eşleşme büyük/küçük harf ve Denetimde Tam sözcüğü eşle simgelerini seçin veya Alt C ve + Alt W tuşlarına + basın.
Tümleri değiştir simgesini seçin veya arama ve değiştirme için Alt + A tuşuna basın.

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 sayı döndürür.

Artık uygulama ondalık sonuçlar üretebilir. Uygulamanın ondalık basamakları da hesaplayana kadar kodda birkaç değişiklik daha yapma.
Değişkenin her örneğini olarak değiştirmek ve yönteminin her örneğini olarak değiştirmek için Bul ve Değiştir
floatdoubleConvert.ToInt32denetimleriniConvert.ToDoublekullanın.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 sonucu olarak daha uzun bir ondalık sayı döndürür.

Kodu düzelt bölümünde, sonuçlarda ondalık basamak sayısını azaltabilirsiniz.
Uygulamada hata ayıklama
Temel hesap makinesi uygulamanızı iyileştirebilirsiniz ancak uygulamanız henüz kullanıcı girişi hataları gibi özel durumları işlemez. Örneğin, kullanıcılar sıfıra bölmeyi veya beklenmeyen bir karakter girmeyi denerse uygulama çalışmayı durdurabilir, hata döndürür veya beklenmeyen bir sayısal olmayan sonuç döndürür.
Şimdi birkaç yaygın kullanıcı girişi hatasını adım adım irdeleelim, hata ayıklayıcısında bu hataları bu hata ayıklayıcıda bulup kodda düzeltelim.
İpucu
Hata ayıklayıcısı ve nasıl çalıştığını görmek için bkz. Hata ayıklayıcısının Visual Studio bakın.
"Sıfıra bölme" hatasını düzeltme
Bir s numarayı sıfıra bölmeye çalışırsanız konsol uygulaması donabilir ve kod düzenleyicisinde neyin yanlış olduğunu gösterir.

Not
Bazen uygulama donmaz ve hata ayıklayıcı sıfıra bölme hatası göstermez. Bunun yerine uygulama, sonsuz simgesi gibi beklenmeyen bir sayısal olmayan sonuç dönüşe neden olabilir. Aşağıdaki kod düzeltmesi hala geçerlidir.
Kodu bu hatayı işlemek için değiştirmek için:
program.cs'de ile arasındaki
case "d":kodu aşağıdaki kodla ifade eden// Wait for the user to respond before closingaçıklamayı 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.ToInt32(Console.ReadLine()); } Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; }Kodu değiştirdikten sonra bölümü deyimiyle
switchaşağıdaki ekran görüntüsüne benzer şekilde görüntü gerekir:
Şimdi, herhangi bir sayı sıfıra böldükçe uygulama başka bir sayı ister ve siz sıfır olmayan bir sayı sağlayana kadar sormaya devam ediyor.

"Biçim" hatasını düzeltme
Uygulama sayısal karakter beklediğinizde alfabetik bir karakter girersiniz, uygulama donar. Visual Studio düzenleyicide neyin yanlış olduğunu gösterir.


Bu özel durumu önlemek için daha önce girdiğiniz kodu yeniden düzenlemeyi sebilirsiniz.
Kodu düzeltme
Tüm kodu işlemek program için sınıfına güvenmek yerine, uygulamanızı iki sınıfa bölebilirsiniz: Calculator ve Program .
sınıfı hesaplama işlerinin büyük bir kısmını işler ve sınıfı kullanıcı arabirimini ve hata Calculator işleme çalışmalarını Program işler.
Haydi başlayalım.
program.cs içinde, ad alanı içinde açılış ve
Calculatorkapanış ayraçları arasındaki her şeyi silin:using System; namespace Calculator { }Küme ayraçları arasına aşağıdaki yeni sınıfı
Calculatorekleyin: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; } }Ayrıca, aşağıdaki gibi
Programyeni bir 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 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; } }Hesaplayıcı düğmesini seçin veya F5 tuşuna basarak uygulamanızı çalıştırın.
yönergelerini izleyin ve 42 sayısını 119 sayısına bölün. Sonuçlarınız aşağıdaki ekran görüntüsüne benzer şekilde görüntü gerekir:


Artık konsol uygulamasını kapatmayı seçene kadar daha fazla denklem girebilirsiniz. Ayrıca sonuçlarda daha az ondalık basamak vardır. Ayrıca yanlış bir karakter girersiniz, uygun bir hata yanıtı alırsınız.
Uygulamayı kapatma
Henüz bunu yapmadıysanız Hesap makinesi uygulamasını kapatın.
Bölmede Çıkış bölmesini Visual Studio.

Uygulama Visual Studio kaydetmek için Ctrl + S tuşlarına basın.
Git kaynak denetimi Ekle
Artık bir uygulama oluşturduğunuza göre, bunu bir git deposuna eklemek isteyebilirsiniz. Size yardımcı olabiliriz. Visual Studio, doğrudan ıde 'den kullanabileceğiniz Git araçlarından daha kolay bir işlem yapar.
İpucu
Git, en yaygın olarak kullanılan modern sürüm denetim sistemidir. bu nedenle, profesyonel bir geliştirici olun veya nasıl kod kullanacağınızı öğreniyor olun, git çok faydalı olabilir. Git 'e yeni başladıysanız, https://git-scm.com/ Web sitesi başlamak için iyi bir yerdir. Buradan, popüler bir çevrimiçi kitap ve git temel bilgileri videoları bulabilirsiniz.
Kodunuzu git ile ilişkilendirmek için, kodunuzun bulunduğu yeni bir git deposu oluşturarak başlayın. Aşağıdaki adımları uygulayın:
Visual Studio sağ alt köşesindeki durum çubuğunda kaynak denetimine ekle' yi seçin ve Git' i seçin.
Git deposu oluştur iletişim kutusunda GitHub ' de oturum açın.
Depo adı, klasör konumunuza göre otomatik olarak doldurulur. Varsayılan olarak, yeni deponuz özeldir. Bu, kendisine erişebilen tek bir tane olduğu anlamına gelir.
İpucu
Deponuzda genel veya özel olup olmadığı, kodunuzun güvenli bir şekilde bir uzak yedeğinin GitHub. Bir ekip ile çalışmasanız bile, uzak bir depo, kodunuzun herhangi bir bilgisayardan sizin için kullanılabilir olmasını sağlar.
Oluştur ve Gönder ' i seçin.
Deponuzu oluşturduktan sonra durum çubuğunda durum ayrıntılarını görürsünüz.
Oklara sahip ilk simge, geçerli dalınızda kaç tane giden/gelen işleme olduğunu gösterir. Herhangi bir gelen işlemeyi çekmek veya giden tüm işlemeleri göndermek için bu simgeyi kullanabilirsiniz. Bu yürütmeleri önce da görüntülemeyi seçebilirsiniz. Bunu yapmak için, simgeyi seçin ve ardından giden/gelen görüntüle' yi seçin.
Kalemle ikinci simge, kodunuzda kaydedilmemiş değişiklik sayısını gösterir. Git değişiklikleri penceresinde bu değişiklikleri görüntülemek için bu simgeyi seçebilirsiniz.
Git 'i uygulamanızla birlikte kullanma hakkında daha fazla bilgi için, Visual Studio sürüm denetimi belgelerinebakın.
Gözden geçirme: Kod tamamlandı
Bu öğreticide hesap makinesi uygulamasında birçok değişiklik yaptık. Uygulama artık bilgi işlem kaynaklarını daha verimli bir şekilde ele almaktadır ve kullanıcı giriş hatalarının çoğunu ele almaktadır.
Kodun hepsi tek bir yerde olacak şekilde tam olarak şu şekildedir:
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ımlar
Bu öğreticinin ikinci bölümüyle devam edin: