- C# ve .NET'in ne olduğunu ve nerelerde kullanıldığını açıklamak
Console.WriteLineile ekrana metin ve hesaplama sonuçları yazdırmak- Programı
dotnet runile çalıştırmak, yorum yazmak ve derleyici hatalarını okumak
Unity ile yapılan oyunlar, çevrim içi mağaza siteleri, Windows masaüstü programları, bulutta çalışan sunucular... Hepsi aynı dille yazılabilir: C# (okunuşu: “si şarp”). Bu derste C#'ın ne olduğunu öğrenecek, arkasındaki .NET platformuyla tanışacak ve ilk programını yazacaksın.
C# ve .NET
C#, Microsoft tarafından geliştirilmiş modern, nesne yönelimli bir programlama dilidir. Anders Hejlsberg liderliğindeki bir ekip tarafından tasarlanmış, ilk sürümü 2002'de yayımlanmıştır. C# statik tipli bir dildir: her değerin türü önceden bilinir; bu yüzden birçok hatayı program daha çalışmadan derleyici yakalar.
C# programları geliştirmek ve çalıştırmak için Microsoft'un ücretsiz, açık kaynaklı platformu. Windows, macOS ve Linux'ta çalışır ve çok geniş bir hazır kütüphane seti sunar.
Bilgisayar yazdığın kodu doğrudan anlamaz. Önce C# derleyicisi onu bir ara dile (IL) çevirir; program başladığında ise .NET çalışma zamanı (CLR) bu kodu işlemcinin anlayacağı makine koduna dönüştürür. Bu sayede aynı program farklı işletim sistemlerinde çalışabilir.
C# nerelerde kullanılır?
- Web — ASP.NET Core ile web siteleri, web API'leri ve çevrim içi hizmetler.
- Oyunlar — Unity oyun motorunda betikler C# ile yazılır; pek çok mobil ve bilgisayar oyunu da Unity ile geliştirilir.
- Masaüstü uygulamalar — WPF ve Windows Forms ile Windows uygulamaları, .NET MAUI ile mobil uygulamalar da.
- Bulut — Microsoft Azure gibi bulut platformlarında çalışan servisler.
- Konsol programları — metinle çalışan küçük araçlar. Bu kursta tam olarak bunları yazacağız.
İlk programın
Programcıların geleneğine göre yeni bir dildeki ilk program ekrana “Hello, world!” (Merhaba dünya!) yazar. Modern C#'ta bunun için tek satır yeterlidir:
Console.WriteLine("Hello, world!");Hello, world!
Console, konsolla (metin penceresiyle) çalışan hazır bir sınıftır.WriteLineonun bir metodudur: parantez içindeki değeri yazar ve yeni satıra geçer. Nokta, sınıfı metoda bağlar."Hello, world!"çift tırnak içindeki metindir, yani bir string (karakter dizisi).;noktalı virgüldür: C#'ta her komut onunla biter.
Bu yazım biçimine üst düzey deyimler (top-level statements) denir ve C# 9'dan (2020) beri vardır. Eski kodlarda ve kitaplarda aynı programı daha uzun bir biçimde, bir Program sınıfı ve programın başladığı Main metoduyla göreceksin. Derleyici kısa sürümü de arka planda tam olarak böyle bir koda dönüştürür.
namespace HelloApp;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}Hello, world!
Main metodundan başlar.Program nasıl çalıştırılır?
- 1.NET SDK'yı kur
Ücretsiz .NET SDK'yı Microsoft'un resmî sitesinden indir. Kod yazmak için Visual Studio, C# Dev Kit eklentisiyle Visual Studio Code ya da JetBrains Rider uygundur.
- 2Proje oluştur
Terminalde
dotnet new console -o HelloAppyaz.HelloAppklasöründe birProgram.csdosyası oluşur. - 3Çalıştır
cd HelloAppile klasöre geç vedotnet runyaz. Program derlenir ve ekrandaHello, World!görünür. - 4Ya da tek bir dosya
.NET 10'dan itibaren proje oluşturmadan da çalışabilirsin: kodu
app.csdosyasına yaz vedotnet run app.cskomutunu ver.
dotnet new console -o HelloApp
cd HelloApp
dotnet runMetin ve hesaplamalar
Console.Write metni yazar ama yeni satıra geçmez; Console.WriteLine ise yazdıktan sonra imleci bir sonraki satıra taşır. String'ler + işaretiyle birleştirilebilir. Program komutları yukarıdan aşağıya, tek tek çalıştırır.
Console.Write("Salam, ");
Console.Write("Aysel!");
Console.WriteLine();
Console.WriteLine("I live in Baku.");
Console.WriteLine("I am " + 12 + " years old.");Salam, Aysel! I live in Baku. I am 12 years old.
C# aynı zamanda iyi bir hesap makinesidir. Dikkat: tırnak içindeki "2 + 3" sadece metindir, tırnaksız 2 + 3 ise hesaplanır. İki tam sayıyı / ile böldüğünde sonuç da tam sayı olur; ondalık kısım basitçe atılır. Kalanı % operatörü verir.
Console.WriteLine(2 + 3);
Console.WriteLine("2 + 3");
Console.WriteLine(7 * 8);
Console.WriteLine(17 / 5);
Console.WriteLine(17 % 5);
Console.WriteLine("Total: " + (45 + 30));5 2 + 3 56 3 2 Total: 75
Yorumlar ve hatalar
Derleyici yorumları dikkate almaz: yorumlar kodu okuyan insanlar içindir. // satır sonuna kadar her şeyi yoruma çevirir; /* ... */ ise birkaç satırı kapsayabilir.
// This program greets the learner
Console.WriteLine("Welcome to Educora!"); // greeting
/* A comment on
several lines */
// Console.WriteLine("This line is switched off");
Console.WriteLine("C# is fun!");Welcome to Educora! C# is fun!
Derleyici bir hata bulduğunda programı çalıştırmaz ve bir hata kodu içeren mesaj gösterir, örneğin CS1002. Mesajda satır ve sütun numarası da yazar; bu yüzden hatayı bulmak kolaydır.
| Kod | Hata | Neden |
|---|---|---|
Console.WriteLine("Hi") | CS1002: ; expected | Satır sonundaki noktalı virgül unutulmuş. |
console.WriteLine("Hi"); | CS0103 | C# büyük-küçük harfe duyarlıdır: Console büyük harfle başlar. |
Console.WriteLine('Hi'); | CS1012 | Tek tırnak yalnızca tek bir karakter (char) içindir; metin çift tırnakla yazılır. |
Console.WriteLine("Hi); | CS1010 | Kapanış tırnağı unutulmuş. |
Önemli noktalar
- C#, Microsoft'un statik tipli, nesne yönelimli dilidir; programları .NET platformunda çalışır.
- C# ile web siteleri (ASP.NET Core), oyunlar (Unity), masaüstü ve bulut yazılımları geliştirilir.
Console.WriteLineyazar ve yeni satıra geçer,Console.Writegeçmez.- Her komut
;ile biter ve C# büyük-küçük harfe duyarlıdır. - İki tam sayının bölümü tam sayıdır:
17 / 5sonucu3, kalan17 % 5ise2'dir.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.