C# Programlama Dilinin Temelleri: Giriş Seviyesinde Kapsamlı Bir Kılavuz
1. Giriş
C#, Microsoft tarafından geliştirilmiş olan ve geniş bir yelpazede uygulamalar geliştirmek için kullanılan güçlü, nesne yönelimli bir programlama dilidir. Bu makalede, C# dilinin temellerine dair kapsamlı bir giriş sunarak, dilin sözdizimini, temel veri yapılarını, kontrol akışlarını ve nesne yönelimli programlama (OOP) kavramlarını ele alacağız.
2. C# Nedir?
C#, 2000'lerin başında Anders Hejlsberg liderliğinde Microsoft tarafından geliştirildi ve ilk olarak .NET Framework ile birlikte tanıtıldı. C#, Java ve C++ gibi dillerden etkilenmiş olup, hem uygulama geliştiricilerine hem de sistem programcılarına hitap eden bir dildir. C# dilinin belirgin özellikleri arasında güçlü tip kontrolü, basit sözdizimi ve geniş .NET kütüphanelerine erişim yer alır.
3. Geliştirme Ortamı Kurulumu
C# programlama dilini öğrenmek ve uygulamalar geliştirmek için Visual Studio veya Visual Studio Code gibi bir IDE (Entegre Geliştirme Ortamı) kullanabilirsiniz. Aşağıda, Visual Studio ile temel bir proje oluşturma adımları verilmiştir:
- Visual Studio Kurulumu: Login or Register to see the download link. web sitesinden IDE'yi indirip kurun.
- Yeni Proje Oluşturma: Visual Studio'yu açtıktan sonra "Create a new project" seçeneğini seçin.
- Proje Türü Seçimi: "Console App (.NET Core)" veya "Console App (.NET Framework)" seçeneklerinden birini seçin.
- Proje Yapılandırması: Projenize bir isim verin ve konumunu belirleyin. Ardından, "Create" butonuna tıklayarak projeyi oluşturun.
4. C# Temel Sözdizimi
4.1. Merhaba Dünya!
Her programlama dilinde olduğu gibi, C# dilinde de "Merhaba Dünya!" programı ile başlamak iyi bir fikirdir.
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Merhaba Dünya!");
}
}
}
Display More
4.2. Anahtar Sözcükler ve Veri Türleri
C# dilinde bazı temel anahtar sözcükler ve veri türleri şunlardır:
- int: Tam sayılar için kullanılır.
- float: Ondalıklı sayılar için kullanılır.
- double: Daha yüksek hassasiyetli ondalıklı sayılar için kullanılır.
- char: Tek bir karakter için kullanılır.
- string: Karakter dizileri için kullanılır.
- bool: Mantıksal değerler için kullanılır (true veya false).
4.3. Değişken Tanımlama
Değişkenler, programın çalışma süresince değerleri tutmak için kullanılır. C# dilinde değişken tanımlama ve atama şu şekilde yapılır:
int sayi = 10;
float kesirliSayi = 3.14f;
double buyukKesirliSayi = 2.71828;
char karakter = 'A';
string metin = "Merhaba";
bool mantiksalDeger = true;
4.4. Operatörler
C# dilinde çeşitli operatörler mevcuttur:
- Aritmetik Operatörler: +, -, *, /, %
- Karşılaştırma Operatörleri: ==, !=, >, <, >=, <=
- Mantıksal Operatörler: &&, ||, !
- Atama Operatörleri: =, +=, -=, *=, /=
4.5. Kontrol Yapıları
4.5.1. If-Else
int a = 10;
if (a > 5)
{
Console.WriteLine("a, 5'ten büyüktür.");
}
else
{
Console.WriteLine("a, 5'ten küçük veya eşittir.");
}
4.5.2. Switch-Case
int gun = 3;
switch (gun)
{
case 1:
Console.WriteLine("Pazartesi");
break;
case 2:
Console.WriteLine("Salı");
break;
case 3:
Console.WriteLine("Çarşamba");
break;
default:
Console.WriteLine("Geçersiz gün");
break;
}
Display More
4.5.3. Döngüler
For Döngüsü
While Döngüsü
Do-While Döngüsü
5. Nesne Yönelimli Programlama (OOP)
5.1. Sınıflar ve Nesneler
Nesne yönelimli programlamanın temel yapı taşları sınıflar ve nesnelerdir. C# dilinde bir sınıf tanımlama ve bu sınıftan bir nesne oluşturma şu şekilde yapılır:
public class Araba
{
// Özellikler (Fields)
public string renk;
public string model;
// Yöntemler (Methods)
public void Calistir()
{
Console.WriteLine("Araba çalıştı.");
}
}
class Program
{
static void Main(string[] args)
{
// Araba sınıfından bir nesne oluşturma
Araba benimArabam = new Araba();
benimArabam.renk = "Kırmızı";
benimArabam.model = "Toyota";
benimArabam.Calistir();
}
}
Display More
5.2. Kapsülleme (Encapsulation)
Kapsülleme, nesne yönelimli programlamada veri saklama ve bu veriye erişimi kontrol etme yöntemidir. Özelliklerin (fields) private olarak tanımlanması ve bu özelliklere public yöntemlerle (methods) erişim sağlanması yaygın bir uygulamadır.
public class BankaHesabi
{
private double bakiye;
public void ParaYatir(double miktar)
{
if (miktar > 0)
{
bakiye += miktar;
Console.WriteLine("Yeni bakiye: " + bakiye);
}
}
public void ParaCek(double miktar)
{
if (miktar > 0 && miktar <= bakiye)
{
bakiye -= miktar;
Console.WriteLine("Yeni bakiye: " + bakiye);
}
}
}
Display More
5.3. Kalıtım (Inheritance)
Kalıtım, bir sınıfın başka bir sınıftan türetilmesi işlemidir. Bu sayede, alt sınıf (derived class) üst sınıfın (base class) özelliklerini ve yöntemlerini miras alır.
public class Hayvan
{
public void SesCikar()
{
Console.WriteLine("Hayvan sesi.");
}
}
public class Kedi : Hayvan
{
public void Miyavla()
{
Console.WriteLine("Miyav!");
}
}
class Program
{
static void Main(string[] args)
{
Kedi benimKedim = new Kedi();
benimKedim.SesCikar();
benimKedim.Miyavla();
}
}
Display More
5.4. Polimorfizm (Polymorphism)
Polimorfizm, nesne yönelimli programlamada aynı yöntemin farklı şekillerde çalışabilmesidir. Temel olarak, bir nesnenin birçok form alabilme yeteneğidir.
public class Hayvan
{
public virtual void SesCikar()
{
Console.WriteLine("Hayvan sesi.");
}
}
public class Kopek : Hayvan
{
public override void SesCikar()
{
Console.WriteLine("Hav Hav!");
}
}
public class Kedi : Hayvan
{
public override void SesCikar()
{
Console.WriteLine("Miyav!");
}
}
class Program
{
static void Main(string[] args)
{
Hayvan h1 = new Kopek();
Hayvan h2 = new Kedi();
h1.SesCikar();
h2.SesCikar();
}
}
Display More
6. Sonuç
Bu makalede, C# programlama dilinin temellerini ayrıntılı bir şekilde ele aldık. Temel veri türleri, kontrol yapıları, nesne yönelimli programlama kavramları gibi önemli konulara değindik. C# dilinde ustalaşmak için pratik yaparak bu kavramları pekiştirebilir ve daha ileri konulara geçebilirsiniz. Unutmayın, programlama öğrenmek sabır ve sürekli pratik gerektirir. İyi kodlamalar!
Kurs ve Eğitim Alabilmek İçin Sizlere En İyi Kurs Sayfalarını Gösterdiğimiz yazımızıda Okuyun Lütfen