Kodkitabi

Tür Dönüşümleri

Farklı veri tiplerini birbirine dönüştürme (Bilinçli, Bilinçsiz ve Parse yöntemleri).

Program yazarken bazen bir veri tipini başka bir veri tipine dönüştürmemiz gerekir. C#'ta tür dönüşümleri üç grupta incelenir:

  1. Bilinçsiz (Implicit) Dönüşüm: Veri kaybı riski olmayan durumlarda derleyici tarafından otomatik yapılır (küçük tipten büyük tipe).
  2. Bilinçli (Explicit) Dönüşüm: Veri kaybı riski olan durumlarda cast (tip) operatörüyle yazılımcı tarafından manuel yapılır.
  3. Yardımcı Metotlar: String ifadeleri sayılara çevirirken Convert sınıfı veya Parse / TryParse metotları kullanılır.
Implicit, Explicit ve Metotlu Dönüşümler
// 1. Bilinçsiz (Implicit) Dönüşüm
int integerVal = 100;
long longVal = integerVal; // Otomatik dönüşür, int -> long (kayıpsız)

// 2. Bilinçli (Explicit) Dönüşüm (Casting)
double doubleVal = 9.78;
int castedInt = (int)doubleVal; // Ondalık kısım atılır. Değer: 9 olur.

// 3. String'den Dönüştürme (Convert ve Parse)
string input = "123";
int parsedNumber = int.Parse(input); // Eğer input sayı olmasaydı hata fırlatırdı.

// Güvenli Dönüşüm (TryParse)
string invalidInput = "abc";
bool isSuccess = int.TryParse(invalidInput, out int result);

if (isSuccess)
{
    Console.WriteLine($"Dönüşüm başarılı: {result}");
}
else
{
    Console.WriteLine("Dönüşüm başarısız, sayısal bir değer girmediniz.");
}