C# Veri Tipleri

C# dilinde veri tipleri, bir değişkenin bellekte nasıl depolanacağını, ne tür bir veri tutacağını ve üzerinde hangi işlemlerin yapılabileceğini belirler. Veri tipleri, değer tipleri (Value Types) ve referans tipleri (Reference Types) olmak üzere iki ana gruba ayrılır.

Bu bölümde C# veri tiplerini detaylı bir şekilde inceleyecek, örneklerle açıklayacak ve Visual Studio Code (VS Code) üzerinde kullanımına dair bilgiler sunacağız.


1. Değer Tipleri (Value Types)

Değer tipleri doğrudan veriyi bellekte tutar ve stack (yığın) bellekte saklanır. İşte en yaygın kullanılan değer tipleri:

Veri TipiAçıklamaBellek AlanıÖrnek
byte0-255 arası tam sayılar1 bytebyte x = 200;
sbyte-128 ile 127 arası tam sayılar1 bytesbyte x = -50;
short-32,768 ile 32,767 arası tam sayılar2 byteshort x = 15000;
ushort0 ile 65,535 arası tam sayılar2 byteushort x = 40000;
int-2,147,483,648 ile 2,147,483,6474 byteint x = 100000;
uint0 ile 4,294,967,2954 byteuint x = 300000;
longÇok büyük tam sayılar8 bytelong x = 1000000000;
ulongPozitif uzun tam sayılar8 byteulong x = 5000000000;
floatOndalıklı küçük sayılar4 bytefloat x = 3.14f;
doubleOndalıklı daha büyük sayılar8 bytedouble x = 3.14159;
decimalYüksek hassasiyetli sayılar16 bytedecimal x = 3.141592653m;
charTek bir karakter tutar2 bytechar x = 'A';
boolDoğru (true) veya yanlış (false)1 bytebool x = true;

Örnek Kullanım:

int sayi = 25;
float pi = 3.14f;
bool durum = true;
Console.WriteLine($"Sayı: {sayi}, Pi: {pi}, Durum: {durum}");

2. Referans Tipleri (Reference Types)

Referans tipleri, bellekteki adresi işaret eder ve heap bellekte saklanır. En yaygın kullanılan referans tipleri şunlardır:

Veri TipiAçıklamaÖrnek
stringMetin değerlerini tutarstring ad = "Ali";
objectTüm veri tiplerinin temeliobject veri = 123;
arrayAynı türde veri dizisiint[] sayilar = {1, 2, 3};
classÖzel nesne yapıları oluştururclass Ogrenci { ... }

Örnek Kullanım:

string isim = "Ahmet"; // Değer Çift Tırnak arasında olmalıdır.
object veri = 42; // Tüm türlerin temelidir
int[] sayilar = { 10, 20, 30 };
Console.WriteLine($"Ad: {isim}, İlk Sayı: {sayilar[0]}");

3. Nullable Veri Tipleri

Bazı durumlarda değişkenlere null (değer yok) atanabilir. Bunun için ? işareti kullanılır.

int? sayi = null; // Null atanabilir bir tam sayı
sayi = 10; // Değer atanabilir
Console.WriteLine(sayi.HasValue ? sayi.ToString() : "Değer yok");

4. Var ve Dynamic

Var:

  • Derleme zamanında değişken türünü otomatik belirler.
  • Türü değiştirilemez.
var isim = "Ahmet"; // string olarak algılanır
var yas = 25;       // int olarak algılanır

Dynamic:

  • Çalışma zamanında türü belirlenir.
  • Türü değişebilir.
dynamic veri = 10;  // Türü int
veri = "Metin";     // Türü string oldu

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir