خرید بک لینک

با سلام


تا جالا خیلی برای همه برنامه نویس ها پیش آمده است که بخواهند مقادیر از یک نوع داده را داخل نوع دیگری از داده بریزند و استفاده کنند


در C# هم این کار را به راختی می توان انجام داد و دو نوع تبدیل داریم

1- Implicit به صورت نهان   2- Explicit به صورت آشکار


 در تبدیل نوع  Implicit یا نهان مثل ریختن آب یک لیوان داخل پارچ آب می باشد که به راختی انجام می شود مانند تبدیل int به Long

int x = int.MaxValue;

long y;

y = x;

این تبدیل هیچ ایرادی ندارد و به دلیل گنجایش بیشتر نوع داده Long به راحتی انجام می شود


اما در تبدیل نوع   Explicit یا آشکار مثل ریختن آب پارج داخل یک لیوان است که دو حالت پیش می آید اولی حالت این است که آب پارج به اندازه لیوان باشد و هیچ سر ریزی اتفاق نمی افتد و اما حالت دوم اگر پارچ پر باشد حتما سر ریزی اتفاق می افتد و این یک افتذاح بزرگ برنامه نویسی می باشد


در هیچ زبانی بابت این اتفاق به برنامه نویس هشدار داده نمی شود اما در C# این رویداد به برنامه نویس هشدار داده می شود .


long x = long.MaxValue;

int y ;

y = x;

این کد به هیچ وجه در سی شارپ اجرا نخواهد شد و از برنامه نویس می خواهد که یک casting آشکار انجام دهد در واقع  برنامه نویس با casting آشکار به کامپایلر می گوید که من می دانم چیکار می کنم فقط تبدیل را انجام بده . مثل کد زیر :


long x = long.MaxValue;

int y ;

y = ( int ) x;


با این کد 100 در 100  Overflow اتفاق می افتد ولی هیچ خطایی دیده نمی شود و یک افتذاح بزرگ رخ داده است .

اما در .net برای این مشکل هم چاره ای اندیشیده شده است مثال زیر :


دانلود فایل 


در این مثال از استثنا ها استفاده شده است


موفق باشید



 

برچسب: نویسنده: کل مردم تاريخ: چهارشنبه 7 آبان 1393 ساعت: 18:26

صفحه بندی