تبدیل انواع عددی به همدیگر در سی شارپ :
همانطوری که در پست قبلی وعده داده شد در این پست بصورت یکجا تبدیل انواع را در سی شارپ بصورت جدول منظمی در اختیار علاقه مندان می گذاریم .
همانطور که در تصویر قابل مشاهده است شما می توانید برای تبدیل هر نوع از داده به نوع دیگر با کمک گرفتن از متد مربوط به آن نوع این کار را انجام دهید.
البته جهت تکمیل انواع داده باید سه مورد تبدیل به انواع غیر عددی ( کَر ، بول و استریگ ) را نیز طبق جدول زیر به موارد بالا بیافزائیم .
تبدیل انواع عددی به همدیگر
در سی شارپ 11 نوع حافظه جهت نگهداری اعداد وجود دارد که شامل اعداد صحیح مثبت و منفی و اعشاری با بازه های مختلف می باشد . آنچه در تصویر زیر می بیند همه چیز را یکجا بیان می کند . این انواع از نظر مقدار بیتی که اشغال می کنند به پنج گروه 8 - 16 - 32 - 64 و 128 بیتی دسته بندی می شوند که در هر دسته یک یا دو یا سه نوع داده وجود دارد . کار تبدیل انواع کوچکتر به انواع بزرگتر از خود ، بصورت ضمنی ( Emplicitly) صورت می پذیرد ولی برای تبدیل انواع بزرگتر به کوچکتر باید از کانورتر مخصوص به آن گروه استفاده شود و عملیات تبدیل بصورت صریح ( Explicit ) اعلان گردد. در پست بعدی انواع کانورتر ذکر خواهد شد .( تصویر زیر گویای همه چیز می باشد.)
رنگ آبی اعداد مثبت صحیح ( هر کدام با بازه مخصوص به خود)
رنگ سبز اعداد مثبت و منفی صحیح ( هر کدام با بازه مخصوص به خود)
رنگ قرمز اعداد مثبت و منفی اعشاری ( هر کدام با بازه مخصوص به خود)
static :
کلاس استاتیک چه نوع کلاسی است و بکار بردن کلمه static قبل از نام کلاس چه تاثیری روی آن دارد
در مورد کلاس های معمولی و غیر استاتیک می دانیم که برای استفاده از توابع و فیلدهای آنها باید ابتدا یک نمونه از کلاس را بسازیم که بتوانیم به توابع و فیلدهای آن کلاس دسترسی داشته باشیم اما در مورد کلاس های استاتیک لازم نیست (نمی توانیم) یک نمونه از کلاس بسازیم بلکه فقط کافیست تا با کمک نام کلاس به فراخوانی توابع و فیلدهای آن بپردازیم . لازم به ذکر است که تمام اعضاء یک کلاس استاتیک باید استاتیک باشند . به یک نمونه ساده از یک کلاس استاتیک و نحوه دسترسی به آن در زیر توجه کنید.
public static class Rectangle
{
public static int CalculateArea(int width, int height)
{ return width * height; }
}
برای فراخوانی کلاس استا تیک بالا و استفاده از متد درون آن به روش زیر عمل میکنیم. در رویداد کلیک یک آبجکت با نوشتن نام کلاس و زدن نقطه به متد آن دسترسی پیدا کرده و با دادن پارامترهای دلخواه برگشتی بدست آمده را با کمک متد تو استرینگ به رشته تبدیل کرده تا مناسب چاپ روی برچسب باشد.
label1.Text= (Rectangle.CalculateArea(12,10)).ToString();
همانطور که می بینید ما بدون اینکه از کلاس Rectangle یک نمونه بسازیم ، می توانیم فقط با صدا زدن کلاس Rectangle و استفاده از متد CalculateArea و دادن پارامترهای آن از متد این کلاس استفاده کنیم. خروجی این متد عدد 120 می باشد که روی لیبل نمایش داده می شود.
در پست قبلی در هنگام ست کردن مقدار به درون فیلدهای کلاس هیچ شرایط خاصی وجود نداشت و هر مقداری را از اعداد صحیح به آنها می دادیم برنامه آن را می پذیرفت . اکنون حالتی را در نظر بگیرید که ما بخواهیم برای پذیرفتن اعداد پیشنهادی شرایط و مقررات خاصی را اعمال کنیم و هر عددی را از کاربر و یا از رویدادهای درون کلاس نپذیریم حال چگونه اینکار را می توانیم انجام دهیم. اینکار با کمک گت و ست کردن یک مقدار متعلق به یک فیلد درون برنامه بصورت دستی و با کمک get و set صورت می گیرد در این حالت است که طبق آنچه در تصویر مشاهده می کنید شرط گذاشتن برای هر دو حالت get و set امکان پذیر می شود که البته در اینجا ما فقط برای set کردن شرط گذاشته ایم تا اعداد ورودی فقط بین 0 تا 255 باشند .
در تصویر زیر نیز می بیندکه باز باید از کلاس یک نمونه بسازیم و با دسترسی به فیلد مربوطه عدد دلخواه را درون آن ست کنیم . مثلا در اینجا عدد 37 می باشد که چون این عدد بین 0 و 255 می باشد پس شرایط مورد نظر را داشته پس بنابر این روی لیبل برنامه چاپ می شود .