2 Nisan 2012 Pazartesi

C#'da Checked & Unchecked

 Checked & Unchecked Nedir ?

     Merhaba arkadaşlar.Bu makalemde değişkenlere değer atarken karşınıza çıkabilecek problemler ve bu problemler karşısındaki çözümler üzerinde durucam.Kendi yaşadığım bi olaydan örnek vermem gerekirse.
     Yanlız yaşıyorsunuz ve yemek rezervleriniz tükenmeye başladı.Alışverişe çıktınız ve ihtiyaçlarınızı almaya başladınız.Buzdolabınızın kapasitesinden fazla almazsınız tahminimce kimse bunu istemez.Bu ölçüde alışverişinizi yaparsınız ve evinize dönersiniz.Buzdolabınızın kapasitesinden daha fazla alışveriş yaparsanız yemekler bozulmaya mahkum kalıcaklardır , bir fazlalık meydana gelicektir.Buna taşmada diyebiliriz. Yazılımla başdaştırırsak




namespace Bilincli
{
    class Program
    {
        static void Main(string[] args)
        {
            byte kucuk;
            int buyuk = 300;
            kucuk = (byte)buyuk;
            Console.WriteLine(kucuk.ToString());
            Console.ReadKey();          
        }
    }
}




   


     Örnekte de görüldüğü gibi burada bir taşma meydana gelicektir.Int tipli bir değişkeni Byte tipi ile Cast ettiğimizde işlemden hata almayız.Bu işlem sonucunda byte tipinin maximum değerinden mod işlemi ile alacağımız sonuç meydana çıkar.
     Bu da Visual Studio IDEsinin exception döndürmemek için yaptığı bir işlemdir.Aslında burda bir Unchecked işlemi uygulanır ve hata dönmez default tipide Unchecked diyebiliriz.
     Örneğe dönücek olursak saklayabileceğimizden fazla alışveriş yapıyorduk orda bir kişi bizi uyarsa ve arkadaşım sen ne yapıyorsun dese güzel olur.Bizde bu işi başkalarına bırakmayalım ve bir kod bloğu içine alalım bu kod bloğuda Checkedır.




namespace Bilincli
{
    class Program
    {
        static void Main(string[] args)
        {
            byte kucuk;
            int buyuk = 300;
            checked
            {
                kucuk = (byte)buyuk;
            }
            Console.WriteLine(kucuk.ToString());
            Console.ReadKey();
        }
    }
}
     
     Checked Bloğunu ekledikten sonra programımı tekrar derlediğimde bir hata mesajı alırım Bu hata bana alışverişteki uyaran kişiyi hatırlattı ve aklımı başıma almamı söyledi.






     Checked kısaca tür atamalarında bir uygunsuzluk ve bir taşma olduğunda bana bu hatayı döndürmem için gerekli kod bloğunu sağladı.Unchecked da bunun tam tersidir hata döndünmez ve yazmanızda gerekmez default olarak yazmasanızda Uncheckeddır.
     Yazdığınız bir programın hata vermemesi önemlidir hele hele bir müşteri karşısında vermemesi dahada önemlidir.Değişkenler çok önemlidir ve taşıdığı değerlerde aynı derecede değerlidir.Programınızdaki veriler değişken tipleriniz yüzünden bozulabilir ve bunu farketmeniz gerekebilir.Bu bölümleri Try-Catch Bloğu içine alırsanız ve hatayıda müşteriye anlaşılır bir biçimde gösterirseniz sıkıntı kalmıycaktır.Hatta hata ve hata satırını kendinize ulaştırırsanız nokta atışı yapmış olursunuz ve bugları rahatlıkla giderebilirsiniz.


     Umarım yardımcı olabilmişimdir bir sonraki yazımda görüşmek dileğiyle.





   



   

Hiç yorum yok:

Yorum Gönder