عملگرهای cheked و uncheked
عملگر cheked
کد زیر را در نظر بگیرید
byte b =255; b++; Console.WrileLine(b.ToString());
نوع داده ایی byte فقط می تواند مقادیری در محدوده ی صفر تا 255 را نگهداری می نماید، بنابراین افزایش مقدار b سبب ایجاد سرریز Overflow می گردد.برای چگونگی مدیریت این وضعیت ، در زبان سی شارپ ، از این عملگرها استفاده می کنیم.
اگر شما یک بلاک کد را به صورت cheked علامت گذاری کنید ،CLR بررسی سرریز را اجرا خواهد کرد به عبارت دیگر چک کردن سرریز متغییر برای برنامه شما مهم می باشد.در این صورت اگر سرریز اتفاق بیفتد یک استثنایی (Exception) به نام OverflowException رخ می دهد.
مثال :
byte b =255; checked { b++; } Console.WrileLine(b.ToString());
عملگر unchecked
اگر شما بخواهید از بررسی سرریز ممانعت به عمل آورید ، کدهایتان را با کلمه کلیدی unchecked علامتگذاری کنید
مثال:
byte b =255; unchecked { b++; } Consloe.WriteLine(b.ToString());
در کد ذکر شده هیچ خطایی اتفاق نمی افتد اما داده هایی را از دست خواهید داد -زیرا نوع داده ایی بایت نمیتواند یک مقدار 256رانگهداری کند و بیت های سرریز شده دور ریخته خواهند شد و متغییر b یک مقدار صفر را نگه می دارد.
برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.
امتیاز به این مطلب :
امتیاز
جمع امتیازات
لطفا به این مطلب امتیاز دهید