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:
- 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).
- 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. - Yardımcı Metotlar: String ifadeleri sayılara çevirirken
Convertsınıfı veyaParse/TryParsemetotları 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.");
}