İçeriğe geç
Educora
Başlangıç12 dk1 / 16

C# nedir? .NET ve ilk programın

C# dilinin ve .NET platformunun ne olduğunu, nerelerde kullanıldığını öğren ve ilk programını yaz.

Kendini test et
Bu derste öğreneceklerin
  • C# ve .NET'in ne olduğunu ve nerelerde kullanıldığını açıklamak
  • Console.WriteLine ile ekrana metin ve hesaplama sonuçları yazdırmak
  • Programı dotnet run ile ç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.

Tanım
.NET

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:

C#
Console.WriteLine("Hello, world!");
Beklenen çıktı
Hello, world!
  • Console, konsolla (metin penceresiyle) çalışan hazır bir sınıftır.
  • WriteLine onun 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.

C#
namespace HelloApp;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, world!");
    }
}
Beklenen çıktı
Hello, world!
Klasik biçim: program Main metodundan başlar.

Program nasıl çalıştırılır?

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

  2. 2
    Proje oluştur

    Terminalde dotnet new console -o HelloApp yaz. HelloApp klasöründe bir Program.cs dosyası oluşur.

  3. 3
    Çalıştır

    cd HelloApp ile klasöre geç ve dotnet run yaz. Program derlenir ve ekranda Hello, World! görünür.

  4. 4
    Ya da tek bir dosya

    .NET 10'dan itibaren proje oluşturmadan da çalışabilirsin: kodu app.cs dosyasına yaz ve dotnet run app.cs komutunu ver.

Terminal
dotnet new console -o HelloApp
cd HelloApp
dotnet run
Terminalde yazılan komutlar

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

C#
Console.Write("Salam, ");
Console.Write("Aysel!");
Console.WriteLine();
Console.WriteLine("I live in Baku.");
Console.WriteLine("I am " + 12 + " years old.");
Beklenen çıktı
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.

C#
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));
Beklenen çıktı
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.

C#
// 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!");
Beklenen çıktı
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.

KodHataNeden
Console.WriteLine("Hi")CS1002: ; expectedSatır sonundaki noktalı virgül unutulmuş.
console.WriteLine("Hi");CS0103C# büyük-küçük harfe duyarlıdır: Console büyük harfle başlar.
Console.WriteLine('Hi');CS1012Tek tırnak yalnızca tek bir karakter (char) içindir; metin çift tırnakla yazılır.
Console.WriteLine("Hi);CS1010Kapanış tırnağı unutulmuş.
Yeni başlayanların en sık karşılaştığı hatalar

Ö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.WriteLine yazar ve yeni satıra geçer, Console.Write geç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 / 5 sonucu 3, kalan 17 % 5 ise 2'dir.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
C# programları hangi platformda çalışır?