C#, modern yazılım geliştirme dillerinden biridir ve .NET platformu üzerinde çalışır. Veri tipleri, programlamanın temel yapı taşlarını oluşturur ve C# dilinde de bu durum geçerlidir. Veri tipleri, bir değişkenin hangi tür veriyi saklayabileceğini belirler. Bu yazıda, C# dilindeki temel veri tipleri detaylı bir şekilde ele alınacaktır.

C# dilinde birkaç temel veri tipi bulunmaktadır. Bu veri tipleri, programda kullanılan verilerin türünü ve boyutunu belirler.

1. Tamsayı (int ve Diğerleri)

Tamsayı veri tipi, tam sayıları temsil etmek için kullanılır. C# dilinde int olarak adlandırılır ve -2,147,483,648 ile 2,147,483,647 arasındaki değerleri saklayabilir. Bununla birlikte, farklı boyutlarda başka tamsayı türleri de vardır:
byte: 0 ile 255 arasında değer alır (1 byte).
sbyte: -128 ile 127 arasında değer alır (1 byte).
short: -32,768 ile 32,767 arasında değer alır (2 byte).
ushort: 0 ile 65,535 arasında değer alır (2 byte).
int: 0 ile 4,294,967,295 arasında değer alır (4 byte).
uint: -2,147,483,648 ile 2,147,483,647 arasında değer alır (4 byte).
long: -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasında değer alır (8 byte).
ulong: 0 ile 18,446,744,073,709,551,615 arasında değer alır (8 byte).

Tamsayılar, genellikle sayma işlemlerinde, döngülerde ve hesaplamalarda kullanılır. Farklı tamsayı türleri, bellek verimliliği sağlamak ve işlem hızını artırmak için kullanılır. Aşağıdaki örnekte, çeşitli tamsayı türleri ile hesaplamalar yapılmaktadır.

byte a = 250; // 0-255 arası
short b = 30000; // -32,768 ile 32,767 arası
int c = 2000000000; // -2,147,483,648 ile 2,147,483,647 arası
long d = 9000000000; // -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arası

long toplam = a + b + c + d;
Console.WriteLine("Toplam: " + toplam);

2. Kesirli Sayılar (double ve float)

Kesirli sayılar, ondalık değerleri temsil etmek için kullanılır. C#’ta double ve float olarak iki farklı kesirli sayı veri tipi bulunmaktadır. double, 15-16 basamak hassasiyetine sahipken, float 7 basamak hassasiyetine sahiptir. float, genellikle daha az bellek kullanımı gerektiren durumlarda tercih edilir.

Kesirli sayılar, matematiksel hesaplamalarda, fiziksel ölçümlerde veya para değerlerinde sıkça kullanılır. Aşağıdaki örnekte, bir double ve bir float değişkenin toplamı gösterilmektedir.

double piDouble = 3.141592653589793;
float piFloat = 3.14f;
double toplam = piDouble + piFloat;
Console.WriteLine("Toplam: " + toplam);

3. Karakter (char)

char veri tipi, tek bir karakteri temsil eder. C#’ta karakterler tek tırnak içinde belirtilir.

Karakterler, metin işlemlerinde ve kullanıcı etkileşimlerinde sıkça kullanılır. Aşağıdaki örnekte, bir karakterin ASCII değeri ekrana yazdırılmaktadır.

char harf = 'A';
int asciiDegeri = harf; // ASCII değerine dönüştürme
Console.WriteLine("Karakter: " + harf + ", ASCII Değeri: " + asciiDegeri);

4. Mantıksal (bool)

bool veri tipi, sadece iki değer alabilir: true veya false. Mantıksal ifadeler, koşullu ifadelerde ve döngülerde sıklıkla kullanılır.

Mantıksal veri tipleri, program akışını kontrol etmek için önemli bir rol oynar. Aşağıdaki örnekte, bir sayının pozitif olup olmadığı kontrol edilmektedir.

int sayi = -5;
bool pozitifMi = sayi > 0;
Console.WriteLine("Sayı pozitif mi? " + pozitifMi);

5. String (Metin)

string, karakterlerin bir dizisi olarak tanımlanır ve metinleri temsil etmek için kullanılır. String veri tipleri çift tırnak içinde belirtilir. C#’ta stringlerle birçok işlem yapılabilir, örneğin; birleştirme, kesme, uzunluk kontrolü gibi.

Metin işleme, kullanıcı arayüzleri ve veri kaydı gibi birçok alanda önemlidir. Aşağıdaki örnekte, iki string birleştirilerek bir cümle oluşturulmakta ve stringin uzunluğu kontrol edilmektedir.

string ad = "Ahmet";
string soyad = "Yılmaz";
string tamIsim = ad + " " + soyad;

Console.WriteLine("Tam İsim: " + tamIsim);
Console.WriteLine("İsim Uzunluğu: " + tamIsim.Length);

Hepsinin Aynı Anda Kullanıldığı Bir Örnek

Aşağıdaki örnekte, yukarıda bahsedilen tüm veri tipleri bir arada kullanılmaktadır. Bir kullanıcıdan ad, yaş, boy ve kilo bilgileri alınmakta, bu bilgilerin birleştirilerek ekrana yazdırılması sağlanmaktadır.

string ad = "Ayşe";
int yas = 25;
double boy = 1.68;
float kilo = 60.5f;
bool saglikliMi = kilo / (boy * boy) < 25; // BMI hesaplama
            
Console.WriteLine("Kullanıcı Bilgileri:");
Console.WriteLine("Ad: " + ad);
Console.WriteLine("Yaş: " + yas);
Console.WriteLine("Boy: " + boy + " m");
Console.WriteLine("Kilo: " + kilo + " kg");
Console.WriteLine("Sağlıklı mı?: " + saglikliMi);