تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت علی (ع) : دانش اندک همراه با عمل بهتر از علم بسیار بدون عمل است.

آموزش مقدماتی تا پیشرفته سی شارپ بخش سیزدهم


بسم الله الرحمن الرحیم

آموزش مقدماتی تا پیشرفته سی شارپ بخش سیزدهم

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

با قسمت ۱۳ آموزش در خدمت شما هستیم.

تبديل نوع هاي داده اي:

در انجام محاسبات بر روي متغيير ها و يا ذخيره مقدار يك متغيير در متغييري ديگر، نوع داده اي آنها همواره بايد يكسان باشد.

بـراي مثال يك عدد صحيح را فقط مي توان بر يك عدد صحيح ديگر تقسيم كرد و يامقدار يك متغيير اعـشاري را نمـي تـوان

بـه يـك ۱ متغيير از نوع عدد صحيح نسبت داد . در هنگام محاسبات اگر نوع هاي متغيير ها با هم تفاوت داشته باشد،

يكي از متغيير ها بـه نـوع داده اي متغيير ديگر تبديل مي شود . تبديل نوع داده اي متغيير ها به دو روش مي تواند انجام شود :

به صورت اتوماتيك و به صـورت صريح. در بيشتر مواقع اين تبديل نوع به صورت اتوماتيك توسط كامپايلر انجام مي شود .

اما در مواقعي كه ايـن تبـديل نـوع ممكـن است منجر به از دست رفتن اطلاعات شود، برنامه نويس بايد آن را به صورت صريح انجام دهد .

براي مثال فرض كنيد مي خواهيد مقدار يك متغيير از نوع اعشاري را در يك متغيير از نوع صحيح قـرار دهيـد .

در ايـن حالـت نمـي توانيد به صورت معمولي از عملگر تساوي استفاده كنيد، زيرا ب ا اين كار قسمت اعشار عدد از بين ميرود .

به همين علت كامپـايلر ايـن تبديل را به صورت اتوماتيك انجام نمي دهد . اما اگر بخواهيد يك متغيير از نوع عدد صحيح را

در يك متغييـر از نـوع اعـشاري قـرار دهيد مي توانيد از عملگر تساوي استفاده كنيد .

زيرا با تغيير نوع از عدد صحيح به عدد اعشاري امكان از دست رفتن اطلاعـات وجـود ندارد

و اين تبديل نوع به صورت خودكار توسط كامپايلر انجام مي شود . در بخش امتحان كنيد بعد،
چگونگي تبديل نوع داده اي يك متغيير به طور صريح را بررسي خواهيم كرد

امتحان كنيد: تبديل نوع هاي داده اي
  1. در محيط ويژوال استوديو روي منوي File كليك كنيد و سپس New Project را انتخاب كنيد.
    در پنجره New Project يك برنامه ويندوزي به نام  Casting Demo ايجاد كنيد.
  2. در قسمت طراحي Form1 يك كنترل Button قرار داده،
    خاصيت Name آن را بـه btnCast و Text آن را به Cast تغيير دهيد.
  3. بر رو ي دكمه فرمان دو بار كليك كنيد تا متد مربوط به
    رويداد كليك آن ايجاد شود . سپس كد مشخص شده در زيـر را در آن وارد كنيد.
 

  • برنامه را اجرا كنيد. مشاهده مي كنيد كه كامپايلر در خط سوم برنامه با خطا مواجه مي شود
  • كد متد Click_btCast را به صورت زير تغيير دهيد:
  • برنامه را اجرا كنيد و بر روي دكمه فرمان كليك كنيد . مشاهده خواهيد كرد كه مقدار متغيير dblNumber به عدد ۲ تغيير كرده است .
  • كد موجود در متد را مجدداً تغيير دهيد تا به صورت زير درآيد:
  • برنامه را اجرا كرده و بر روي دكمه فرمان كليك كنيد . مشاهده خواهيد كرد كـه
    مقـدار متغييـر intNumber تغيـر كرده و برابر با قسمت صحيح عدد dblNumber شده است .

چگونه كار مي كند؟

در اين برنامه ابتدا سعي كرده ايم مقدار يك متغيير اعشاري را در يك متغيير از نوع صحيح قرار دهيم .
همانطور كه مي دانيد بـا ايـن كار بخش اعشار عدد از بين مي رود .
به همين دليل كامپايلر اين تبديل را به صورت اتوماتيك انجام نمي دهد و برنامه با خطا مواجـه مي شود

در بخش بعد سعي كرده ايم مقدار يك متغيير از نوع صحيح را در يك متغيير اعشاري قرار دهيم .
به علت اينكه در اين حالت احتمـال از دست رفتن اطلاعات وجود ندارد
و مقدار موجود در متغيير به صورت كامل در متغيير اعشاري ذخيره مي شود،
اين تبديل به صورت اتوماتيك توسط كامپايلر انجام مي شود .

با اجراي برنامه و كليك بر روي دكمه فرمان مشاهده خواهيد كـرد كـه
مقـدار متغييـر intNumber يعنـي عـدد ۲ در متغييـر    dblNumber  قرار گرفته است .

براي اينكه بتوانيم مقدار يك متغيير اعشاري را در يك متغيير از نوع عدد صحيح نگهداري كنيم
بايد به طـور صـريح آن را بـه عـدد صحيح تبديل كنيم .
در زبان #C اين كار به وسيله عملگر پرانتز () انجام مي شود .
براي تبديل يك متغيير بـه يـك نـوع داده اي خاص و ذخيره آن،
بايد قبل از نام متغيير يك پرانتز قرار دهيد و سپس داخل پرانتز نام نوع داده اي مقصد را وارد كنيد. براي مثال:

در اين كد متغيير dblNumber كه از نوع double است با استفاده
از عملگر پر انتز بـه نـوع داده اي int تبـديل شـده است
و سپس در متغييري از اين نوع ذخيره شده است . البته دقت داشته باشيد
كه از اين روش براي تبديل متغيير هاي رشته اي به عددي و بر عكس نمي توانيد استفاده كنيد .
اگر رشته اي كه شامل يك عدد است (مانند “۱۴.۲۳۴ (“را بخواهيد به عدد تبديل كنيد
بايد از تابع Parse در نوع داده اي عدد استفاده كنيد.
براي مثال فرض كنيد متغيير str1 ،رشته اي حاوي يك عدد اعشاري است
و مي خواهيـد آن را در متغييـر dblNum1 كه از نوع اعشاري است ذخيره كنيد.
براي اين كار بايد از تابع ()Parse.double به صورت زير استفاده کنید.

 

به همين ترتيب براي تبديل يك رشته شامل عدد صحيح به عدد صحيح بايد از تابع Parse.int استفاده كنيد .
براي تبديل يك عدد به رشته هم بايد از تابع ()ToString مربوط به متغيير عددي استفاده كنيد .
براي مثـال اگـر بخواهيـد مقدار متغيي ر dblNumber را در يك متغيير رشـته اي ذخيـره كنيـد بايـد از تـابع ()ToString.dblNumber استفاده كنيد.

بسیار عالی خداوند را شاکریم که تا اینجای مسیر توانستیم بخشی از ذکات علم خود را بپردازیم


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ