تبدیل متغیر ها در سی شارپ
با سلام خدمت همراهان صفر تا قهرمان و علاقه مندان به زبان سی شارپ
در این قسمت از سری آموزش های برنامه نویسی سی شارپ، قصد داریم به مبحث تبدیل متغیرها در سی شارپ بپردازیم. سی شارپ همانند زبان های هم خانواده ی خود، دارای نوع داده های مختلفی است که گاهی بر حسب نیاز باید این نوع داده ها را به یکدیگر تبدیل کنیم.
این مبحث گاهی با نام Type Casting نیز شناخته میشود. در سی شارپ دو نوع تبدیل وجود دارد:
تبدیل مطلق یا التزامی : این نوع از تبدیل توسط خود کامپایلر انجام میشود. برای مثال: تبدیل نوع داده ای کوچکتر به بزرگتر یا تبدیل کلاس های فرزند به کلاس های پایه.
تبدیل ساده : این نوع از تبدیلات توسط خود کاربر و بوسیله توابع خاصی انجام میشود.
مثال زیر نمونه ساده ای از تبدیل نوع double به int است.
using System; namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // cast double to int. ZeroToHero i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
خروجی کد بالا به صورت زیر میباشد. بدلیل اینکه نوع داده int از نوع اعداد صحیح است و اعشار را ذخیره نمیکند در هنگام تبدیل، قسمت اعشاری متغیر d حذف میشود.
۵۶۷۳
متدهای تبدیل در سی شارپ
در سی شارپ توابع زیادی برای تبدیل انواع داده ها وجود دارد. در ادامه به معرفی توابع معروف تر میپردازیم.
ToBoolean : تبدیل نوع داده به نوع Boolean (true or false)
ToByte : تبدیل متغیر به بایت
ToChar : تبدیل متغیر به یک تک کاراکتر
ToDateTime : تبدیل متغیرهای String یا integer به ساختار تاریخ
ToDouble : تبدیل داده های اعشاری به ده دهی (بدون اعشار)
ToInt : این نوع تبدیل دارای انواع ۱۶ و ۳۲ و ۶۴ است و بسته به بزرگی عدد از خانواده مناسب استفاده میشود. کوچکترین نوع این خانواده int16 و بزرگترین int64 است.
ToString : تبدیل متغیر ها به رشته
در مثال زیر انواع متغیر ها با مقادیر مختلف با استفاده از متد toString به نوع رشته ای تبدیل شدند:
using System; namespace TypeConversionApplication { class StringConversion { static void Main(string[] args) { int i = 75; float f = 53.005f; double d = 2345.7652; bool b = true; //ZeroToHero Console.WriteLine(i.ToString()); Console.WriteLine(f.ToString()); Console.WriteLine(d.ToString()); Console.WriteLine(b.ToString()); Console.ReadKey(); } } }
صحبت پایانی
تا اینجا , با مبحث تبدیلات در سی شارپ آشنا شدیم. همانطور که میدانید متغیرها در واقع خانه ای از حافظه هستند و هنگامی که مقداری را به یک متغیر اختصاص میدهیم در واقع خانه های حافظه را برای ذخیره سازی استفاده کرده ایم. هرکدام از این انواع متغیرها، مقدار متفاوتی را از خانه های حافظه اشغال میکند. بنابراین نوشتن برنامه ای که برای سخت افزار بهینه باشد نیازمند انتخاب متغیر های مناسب با نوع مقدار است. برای مثال اختصاص مقادیر کوچک برای متغیر های بزرگ مثل double یا int64 کار اشتباهی است. لازم به ذکر است که با استفاده از کلاس convert میتوانید لیست تمامی تبدیلات را مشاهده کنید. برای مثال :
using System; namespace TypeConversionApplication { class StringConversion { static void Main(string[] args) { int i = 75; Console.WriteLine(convert.toInt16(i)); Console.ReadKey(); } } }
در ادامه سری مقالات سی شارپ با تیم صفر تا قهرمان همراه باشید…
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.