Type Conversion (tür dönüşümü)’ın bir alt formu olan Typecast konusu anladığım kadarıyla; basit, temel ve bir o kadar da önemli bir konu. Kodlamaya başladığım ilk zamanlarda öğrenmiş olmama rağmen ve hatta şu kısa süreli blog serüvenimde bile bununla ilgili bir örnek yapmış olmama rağmen, yaptığım matematik işlemlerinde bu konuyla ilgili detaylar yüzünden sonuca ulaşamadığımı fark ettiğim bir konu olduğu için tür dönüşümleri için ayrı bir başlık açmak istedim.
Veri türeleri arası dönüşüm, bir değişkenin değişik türdeki hâlinin başka bir değişkene atanmasıdır. Typecast (type casting) de denir. İki formu vardır.
Typecast
- Bilinçsiz Dönüşüm (Implicit Type Conversion): Düşük kapasiteli bir değişken, sabit ya da değişken ve sabitlerden oluşan matematiksel ifadenin daha yüksek kapasiteli bir değişkene atanması. Özel bir kod gerekmez
- Bilinçli Dönüşüm (Explicit Type Conversion): Genellikle derleyicinin izin vermediği durumlarda kullanılır. Bilinçli tür dönüşümüyle küçük türün büyük türe dönüştürülmesi gereksizdir, bilinçsiz tür dönüşümü bu işi yapar. Dönüşümü yapılan değişkenin tuttuğu değer, dönüştürülecek türün kapasitesinden büyükse veri kaybı gerçekleşebilir.
Bilinçsiz Dönüşüm (Implicit Type Conversion)

Bilinçli Dönüşüm (Explicit Type Conversion)
object Türüyle İlgili Kurallar
object türündeki bir değişkene başka herhangi bir türdeki değişken ya da sabit (string dışında) + işaretiyle eklenemez.
object türündeki bir değişkene herhangi bir türdeki değişken ya da sabit atanabilir (bilinçsiz tür dönüşümü). object türündeki bir değişkeni başka bir türe çevirmek için tür dönüştürme işlemi kullanılır. Dönüştürülen türlerin uyumlu olması gerekir.
Aynı satırda çifte dönüşüm yapılamaz.
string Türüyle İlgili Dönüşümler
x.ToString(): x değişken ya da sabitini stringe çevirip tutar.

string türüyle ilgili bilinmesi gerekenler:

Methods (System.Convert sınıfı)
Tür dönüşümü için metotlar System isim uzayında Convert sınıfındadır. Hemen hemen her tür her türe dönüştürülebilir. Değişken türlerinin CTS (Common Type System) karşılıkları bilinmelidir.
~Aritmetik Dönüşüm Hiyerarşisi

Kaynaklar:





