C# dilinde tip dönüşümleri, bir veri türünden başka bir veri türüne değerlerin dönüştürülmesini sağlar. Bu dönüştürme işlemine Type Casting denir. C# da iki farklı tip tür dönüşümü vardır: implicit (bilinçsiz) dönüşüm ve explicit (bilinçli) dönüşüm.
C#’ta düşük kapasiteli bir değişken, sabit ya da değişken ve sabitlerden oluşan matematiksel ifade daha yüksek kapasiteli bir değişkene atanabilir. Buna bilinçsiz tür dönüşümü denir, bunun için herhangi bir özel kod gerekmez.
short degisken1 = 23456;
int degisken2 = ilkdegisken;
Console.WriteLine("Short Degiskeni {0}, Int Degiskeni {1}", degisken1, degisken2);
//EKRAN ÇIKTISI
//Short Degiskeni 23456, Int Degiskeni 23456
Bilinçli tür dönüşümü genellikle derleyicinin izin vermediği durumlarda kullanılır. Buyük değişkeni küçük değişkene döndürdüğümüz zaman .NET veri kaybı olama olasılığından dolayı buna izin vermez. Bunu yapmanın yolu bilinçli olarak yapıldığını derleyiciye söylemektir. Bunuda cast operatörü kullanarak yapabiliriz.
int degisken1 = 2345678;
short degisken2 = (short)ilkdegisken;
Console.WriteLine("Short Degiskeni {0}, Int Degiskeni {1}", degisken1, degisken2);
//EKRAN ÇIKTISI
//Short Degiskeni 2345678, Int Degiskeni -13618
Bir sayısal veri türünü diğerine dönüştürmek için, dönüştürmek istediğimiz verinin önüne (yeni veri türü)
eklememiz yeterlidir.
Parse
metodu, bir string dizesini belirli bir veri türüne dönüştürmek için kullanılan bir metotdur. Bu yöntem, genellikle C# dilinde bulunan çeşitli veri türlerine (int, double, bool, DateTime vb.) ilişkin olarak sunulur.
Parse
metodunun avantajı, hızlı ve kolay bir şekilde string dizesini hedef veri türüne dönüştürme imkanı sunmasıdır (Yalnızca string bir ifadeyi belirtilen tipe döndürebilir). Ancak, dönüşümün başarısız olabileceğini ve istisna fırlatılabileceğini unutmamak önemlidir. Bu nedenle, Parse
metodunu kullanırken uygun hata işleme mekanizmalarını eklemek önemlidir.
string sayiDizisi = "123";
int sayi;
double ondalik;
sayi = int.Parse(sayiDizisi);
ondalik = double.Parse(sayiDizisi);
Convert
sınıfı, .NET Framework’te bulunan ve farklı veri türleri arasında dönüşümleri gerçekleştirmek için kullanılan bir sınıftır. Bu sınıf, çeşitli veri türlerini birbirine dönüştürmek için genel amaçlı metotlar içerir ve dönüşümleri yaparken hata işleme mekanizmalarını sağlar.
Convert
sınıfının bazı yaygın kullanılan metotları şunlardır:
string sayiDizisi = "123";
int sayi;
sayi = Convert.ToInt32(sayiDizisi);
Console.WriteLine("Dönüşüm başarılı: " + sayi);