Değişik tipteki değişkenlerin içeriklerini dönüştürürken Convert sınıfının metotlarından yararlanabilirsiniz. Convert sınıfı sayesinde tip dönüşümünü yaparken dönüştürme işlemi sonucu elde edilen bilginin aktarılacağı değişkenin tipine göre metot seçmek gerekir.
Sayısal bilgi olarak değerlendirilebilecek string bilgileri int bilgiye dönüştürme ToInt32() ve ToInt16() metotları ile yapılmaktadır. Bu metot, dönüştürülmek istenen bilgiyi parametre olarak almaktadır.
int sayi1;
string str1 = "1234";
sayi1 = Convert.ToInt32(str1); // sayi1 1234 olur.
Bu örnekte string bilginin içeriği int tipine uygun olduğu için dönüştürme işlemi başarılı olur. Bu string bilgi yalnızca rakamlardan meydana gelmiyor olsaydı program hatasızca derlenirdi ama çalışma anında hata meydana gelirdi. Karaktersel bilgiyi Single bilgiye dönüştürmek istiyorsanız ToSingle() metodundan yararlanabilirsiniz.
Single sayi1;
string str1 = "1234,876";
sayi1 = Convert.ToSingle(str1); // sayi1 1234,876 olur.
string bilgiyi double tipine dönüştürmek istemiş olsaydım ToSingle() yerine ToDouble() metodunu kullanırdım. Şimdi ise int bilgiyi ToByte() metodu ile byte tipine dönüştüreceğim.
int sayi1 = 128;
byte sayi2;
sayi2 = Convert.ToByte(sayi1); // sayi2 128 olur.
Bu dönüştürme işleminde byte tipindeki değişkene aktarılan 128 değeri byte değişkenlerin kapasitesini aşmadığı için hata meydana gelmez ve bilgi kaybı olmaz. Bu dönüştürmede int tipindeki değişken 255’ten daha büyük sayı içeriyor olsaydı program hatasızca derlenirdi ama çalışma anında hata meydana gelirdi.
Yukarıda ToByte() metoduna int bilgiyi parametre olarak verip btye tipine dönüştürdüm. İsterseniz ToByte() metoduna bool tipinde bir değişkeni parametre olarak verebilirsiniz.
bool Durum = false;
byte sayi;
sayi = Convert.ToByte(Durum); // sayi 0 olur.
Bu koddaki “Durum” adındaki bool değişken false bilgisini içerdiği için dönüştürme işlemi sonucu byte değişkenin içeriği 0 olur. bool değişken true bilgisini içeriyor olsaydı dönüştürme işlemi sonucu byte değişken 1 değerini sahip olurdu.
Herhangi bir tipteki bilgiyi bool tipine dönüştürmek istiyorsanız ToBoolean() metodunu kullanabilirsiniz. Aşağıda verdiğim dönüştürme işleminde byte tipindeki “sayi” değişkeni 0 bilgisini içerdiği için dönüştürme işlemi sonucu bool değişken false değerine sahip olur.
bool Durum;
byte sayi=0;
Durum = Convert.ToBoolean(sayi); // Durum false olur.
byte tipindeki bu değişken 0’dan büyük bir değere sahip olsaydı bool değişkenine true değeri aktarılırdı. Benzer mantıkla Convert sınıfının ToChar(), ToDecimal(), ToUint32() ve ToInt64() metotları ile istediğiniz dönüştürme işlemlerini yapabilirsiniz.