
Ekim 14, 2009 04:01 by
molks
c# da veriler açıkça(explicitly) ve kapalı(implicitly) olarak birbirlerine dönüştürülebilmektedirler.Bu işlemlere casting ve conversion da denilmektedir.Kendinden daha büyük değer aralıgında veri tutabilen bir tipe atama yapılıyorsa burada kapalı dönüşüm işlemi vardır ve derleme zamanında bu işlem bizim dışımızda gerçekleşir örneğin ;

burada sayi1 sayi2 ye atilmadan önce aslında sayi1 int'a çevriliyor yani bir genişleme söz konusu..Ama bunun tam tersine bir daralma söz konusu ise , o zaman veri kaybolma ihtimali var demektir ve bizden açık açık dönüştürme işlemini yapmamız istenir mesela ;

burada ki int 10 değeri , byte in içine sığabilecek bir değer olmasına ragmen,böyle bir casting işlemine izin verilmez , işlemi explicit olarak gerçekleştirmemiz gerekir yani ;

implicit dönüşümleri,çoğu zamanda methodlardada farkederek yada farketmeden yapabiliriz mesela double parametre alan ve geriye double değer dönen bir method düşünün,biz bu double parametrelere bilerek veya farketmeden float tipinde değer atarsak ne olur ?

afe6330a-6611-45c0-9f1a-41c3972456b0|4|4.8