تری دینگا
برنامه نویسیمقالات

عملگرهای cheked و uncheked

نمونه برنامه سی شارپ

عملگرهای 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 یک مقدار صفر را نگه می دارد.

نکته : به صورت پیش فرض در کدنویسی سی شارپ رفتار unchecked فعال می باشد .زمانی از این عملگر استفاده می کنیم که ما دردرون بلاک checked بخواهیم از یه سری از کدها از سرریز شدن چشم پوشی بشود.

برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.

تمامی مطالب توسط تیم سافت ساز ترجمه و جمع آوری می شود . منبع سافت ساز

امتیاز به این مطلب :

امتیاز

جمع امتیازات

لطفا به این مطلب امتیاز دهید

User Rating: 2.4 ( 1 votes)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا