تبلیغات
پروژه های رایگان برنامه نویسی و آموزش زبان C++ و C# - تبدیل نوع داده ها به یکدیگر در C#
 
پروژه های رایگان برنامه نویسی و آموزش زبان C++ و C#
برنامه بدون خطا رویاست Program is impossible without an error
درباره وبلاگ


انجام پروژه های برنامه نویسی سی و سی پلاس پلاس و سی شارپ

انجام پروژه های الکترونیکی و رباتیکی

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














free counters

با سلام


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


در 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 برای این مشکل هم چاره ای اندیشیده شده است مثال زیر :


دانلود فایل 


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


موفق باشید



 





نوع مطلب : آموزش برنامه نویسی #C، Ebook Dot Net 4، 
برچسب ها : OverflowException، checked، try - catch، Explicit Numeric Conversions، Casting،
لینک های مرتبط : Explicit Numeric Conversions Table، OverflowException Class،

       نظرات
یکشنبه 5 آذر 1391
سجاد سلطانی
جمعه 17 خرداد 1398 11:45 بعد از ظهر

Wonderful goods from you, man. I've understand your stuff previous to and you are just too wonderful. I actually like what you have acquired here, certainly like what you're stating and the way in which you say it. You make it entertaining and you still care for to keep it smart. I can not wait to read much more from you. This is actually a great web site.
سه شنبه 3 اردیبهشت 1398 12:34 قبل از ظهر
ルイヴィトン コピー エシャルプ?プティ ダミエ M70028_スーパーブランドコピー優良店
سه شنبه 3 اردیبهشت 1398 12:33 قبل از ظهر
Chanelブランドコピー代引き時計激安
جمعه 30 فروردین 1398 09:29 بعد از ظهر
スーパーコピーブランド、素晴らしいスーパーコピー時計激安通販専門店おすすめ!
جمعه 30 فروردین 1398 09:28 بعد از ظهر
コピーブランド財布代引き:ルイヴィトン財布コピー,エルメスブランドコピー財布,シャネルコピー財布,グッチコピーブランド財布など.
یکشنبه 18 فروردین 1398 07:58 قبل از ظهر
スーパーコピーN級品激安通販専門店です.スーパーコピーブランドN級品は全て最高な材料と優れた技術で造られて
شنبه 14 مرداد 1396 02:54 قبل از ظهر
Excellent way of telling, and fastidious paragraph to get facts regarding my presentation focus,
which i am going to convey in university.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر