C# Eğitimleri – Tür Dönüşümleri – Casting Operation

C# Eğitimlerimizde veri tiplerinin sonuna geldik. Bu yazımızda C# da tür dönüşümü işlemlerine giriş yapacağız.

C# ile kodlama yaparken pek çok defa türler arası geçiş, dönüşüm işlemlerine gereksinim duyarız.

Tür Dönüşüm Çeşitleri

  1. ToString() Metodu

Herhangi bir türdeki veri tipi değişken sonuna yazılan ToString() metodu ile değer string türüne dönüştürülebilir.

 

 

Bu şekilde tüm türlerden string türe dönüşüm yapılabilir.

2. Parse Metodu

Parse Kullanımı

Tür.Parse(Değişken) şeklinde uygulanır.

Parse metodu sadece string türden farklı bir türe dönüşüm yapılmasını sağlayan metoddur.

 

 

3. Boxing Yöntemi

Boxing Yöntemi Kullanımı

(Tür)Değişken

 

Tabi burada boxing işlemi yaparken dikkat edilmesi gereken durumlar vardır.

Mesela string bir tür boxing yöntemi ile sayısal türlere dönüştürülemez.

4. Convert Sınıfı İle Dönüşümü

Her tür arası dönüşümü en temiz yapabileceğimiz yöntem Convert yöntemidir.

Convert Kullanımı

Convert.ToTür(Değişken)

 

5. Checked & Unchecked

Bilinçli tür dönüşümlerinde veri kayıplarının olması söz konusudur.

 

 

Böyle bir tür dönüşümünde 5.2 olan değerin ondalıklı kısmı atılır ve sadece 5 değeri int değerine atanır. Böyle tür dönüşümleri sırasında kayıpları engellemek için Checked ve Unchecked özelliği kullanılabilir.

Kullanımı

 

 

Bu durumda herhangi bir hata dönmeden işlemin tamamlandığını görürüz.


 

 

Eğer byte değerinin sınırı 256 gibi bir değerle açılırsa bu işlemin yapılmasına izin vermeyecek ve runtime hata dönecektir.

 

checked içinde veri kaybı olduğunda bunun geriye hata döndürmesini istemeden bu veri kaybını kabul ediyorsak checked içinde unchecked kullanılabilir.

6. Bilinçsiz Tür Dönüşümleri

C# da kodlama anında aynı tipler arası tür dönüşümü belirtmeden küçük olan tip büyük türe aktarılabilir.

Örneğin int türü double türünden daha düşüktür. int türünden double türüne atama yaptığımızda herhangi bir kaybın olması söz konusu olmayacağı için bunu kodlama anında hiç bir belirteç kullanmadan yapabiliriz.

 

Sadece bir tanesi açıklamak gerekirse byte short ve sbyte değerleri int türünden daha küçük bir aralıkta olduğu için d=a+b+c; ataması yapılabilir. Ve bu işlem sırasında a b c int türüne o anda dönüştürülür.

Bilinçsiz Yapılabilecek Dönüşümler

Kaynak Hedef
sbyte short, int, float, long, double, decimal
byte short, ushort, int, uint, long, ulong, float, double, decimal
short int, long, float, double, decimal
ushort int, uint, long, ulong, float, double, decimal
int long, float, double, decimal
uint long, ulong, float, double, decimal
long, ulong float, double, decimal
char ushort, int, uint, long, ulong, float, double, decimal
float double

 

Böylece tür dönüşümü yazımın sonuna geldik. Bir sonraki yazımda görüşmek üzere.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/