جدول متغیرهای پرکاربرد
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
جدول متغیرهای ساده پرکاربرد در زبان سی شارپ
شما به عنوان برنامهنویس در آینده با متغیرهای زیادی سر و کار خواهید داشت، اما برای شروع نیاز است تا چند متغیر اصلی و پرکاربرد را خوب بشناسید تا بتوانید پیریزی پروژه خود را به درستی آغاز کنید.
همانطور که در پست متغیر چیست خدمتتان عرض کردیم، متغیرهای معمولی (ساده) به طور کلی به دستههای زیر تقسیم میشوند:
۱. رشته ها (ترکیب حروف با اعداد و کاراکتر)
۲. اعداد صحیح (بدون اعشار)
۳. اعداد صحیح (با اعشار)
۴. اعداد طبیعی (فقط بازه مثبت)
۵. کاراکتر (هر نوع کاراکتر از رشته ها)
۶. بولین (True و False)
به همین منظور میخواهیم در این پست (جدول متغیرهای پرکاربرد)، به معرفی این متغیرهای ساده بپردازیم.
ابتدا به سراغ جدول متغیرهای عددی صحیح میرویم تا در رابطه با این دسته صحبت کنیم:
همانطور که مشاهده میکنید، برنامهنویسها برای نگهداری دادههایی از جنس اعداد صحیح میتوانند طبق نیاز خود، یکی از ۵ متغیر (byte, char, short, int, long) را انتخاب و از آن استفاده کنند.
نکته اول: نام متغیرها که در جدول فوق مشاهده میکنید، جزو دسته کلمات کلیدی در زبان محسوب میشوند، و از آنجایی که تمامی کلمات کلیدی در زبان برنامهنویسی با حروف کوچک شروع میشوند، پس تمامی ۵ متغیر byte, char, short, int, long هم با حروف کوچک نوشته میشوند.
نکته دوم: درسته که میتوانید برای نگهداری اعداد از تمامی متغیرهای ذکر شده استفاده کنید، اما اصلا منطقی و درست نیست که برای نگهداری به عنوان مثال عدد ۱۰۰۰، از متغیر long استفاده کنید!
این متغیرها بسته به تعریفی که از قبل برایشان شده (فضای ذخیرهسازی)، برای آن خانه در حافظه فضایی را اشغال کرده و اصلا به حجم داده شما توجه نمیکنند، به همین علت باید به درستی متغیر خود را انتخاب کنید تا در آینده با مشکل کمبود فضا و کندی سرعت در سرور خود مواجه نشوید.
در ادامه نکته دوم، فرض کنید که میخواهید عدد ۴۰,۰۰۰ را ذخیره کنید، خب از آنجایی که ۴۰,۰۰۰ بزرگتر است از ۳۲,۷۶۷ پس احتمالا با خودتان بگویید که دیگر چارهای ندارم و باید حتما از متغیر int استفاده کنم!
اما اینطور نیست، شما میتوانید درصورتی که به بازه منفی این اعداد ذکر شده در ستون محدوده قابل ذخیره سازی داده نیازی نداشتید، بازه منفی را حذف کرده و به بازه مثبت اضافه کنید؛ با اینکار میتوانید برای ذخیره کردن عدد ۴۰,۰۰۰، به جای استفاده از متغیر int، همچنان از متغیر short استفاده کنید!
برای درک بهتر این مسئله، لطفا به جدول زیر توجه کرده و تمامی ردیفهای این جدول را با جدول متغیرهای عددی مقایسه کنید:
همانطور که مشاهده میکنید، با نوشتن کلمه unsigned در پشت متغیرهای عددی، توانستیم بازه اعداد منفی را حذف و به بازه اعداد مثبت همان متغیر اضافه کنیم.
پس با متغیرهایی که وظیفه نگهداری اعداد صحیح و طبیعی را دارند آشنا شدیم، اما اگر بخواهیم در پروژه خود اعداد اعشاری را ذخیره کنیم چه؟؟
نگران نباشید، برای اعداد اعشاری هم متغیرهایی وجود دارند، لطفا به جدول زیر دقت کنید:
همانطور که مشاهده میکنید، هر سه متغیر float ، double , decimal توانایی نگهداری اعداد اعشاری در هر دو بازه منفی و مثبت را دارند.
نکته: متغیر float تنها میتواند تا ۷ رقم اعشار را نگهداری کند، به عنوان مثال عدد ۴/۱۲۳۴۵۶۷ را میتواند ذخیره کند.
در نتیجه اگر به متغیر float که فقط توانایی نگهداری اعداد را تا ۷ رقم اعشار دارد، به عنوان مثال عدد ۴/۱۲۳۴۵۶۷۸۹ را بدهیم تا برایمان نگهداری کند، اعشار ۸ و اعشار ۹ را حذف میکند، یعنی حذف داده صورت میگیرد.
پس اگر در پروژههای خود نیاز به نگهداری اعداد تا نهایت ۷ رقم اعشار را داشتید، همین متغیر float کار شما را راه میاندازد؛ اما متغیرهای double و decimal فضای زیادی را از حافظه شما اشغال میکنند که بعید میدانم شما نیاز به نگهداری همچین اعداد اعشاری بزرگی را در پروژه خود داشته باشید.
به همین راحتی تمامی متغیرهای پرکاربرد مربوط به نگهداری اعداد صحیح، طبیعی و اعشاری را یاد گرفتید، حال زمان آن رسیده است تا متغیرهای بعدی را به شما آموزش دهیم:
۱.رشتهها | متغیر string
در هر کجای برنامه خود که نیاز به نگهداری نام و نام خانوادگی یا شماره موبایل یا رمز عبور یا آدرس یا پیام تیکت یا مقاله و امثالهم را داشتید، میتوانید از متغیر string استفاده کنید، متغیر string هوشمند بوده و با توجه به تعداد کاراکترهایی که داخل آن قرار میدهید از حافظه فضا اشغال میکند.
در نتیجه اگر در یک متغیر از جنس string داده “ali” و در متغیر دیگری از همان جنس string داده “mohammad” را قرار دهید، قطعا فضای ذخیره شده از خانه ali کمتر از فضای ذخیره شده از خانه mohammad است.
این متغیر (string)، توانایی ذخیره سازی تمامی کاراکترها را دارد، به عنوان مثال تمامی کاراکترهای انگلیسی، تمامی کاراکترهای فارسی، تمامی کاراکترهای عربی، تمامی کاراکترهای عددی و تمامی کاراکترهایی که بر روی کیبورد خود مشاهده کرده یا نمیکنید!! مثل * یا & یا ^ یا % یا $ یا # یا @ یا ! یا space یا ♣ یا ♠ یا ᘮ و …
ولی یادتان باشد باوجود آنکه میتوانیم در متغیری از نوع string، عدد ۱۳۷۵ را ذخیره کنیم، اما جنس این مقدار از آنجایی که از نوع string بوده به هیچ عنوان ماهیت عددی نداشته و نمیتوانید با اعمال ریاضی حتی یک واحد از آن کم (یعنی ۱۳۷۴) یا به آن اضافه (یعنی ۱۳۷۶) کنید.
پس متوجه شدید که برای نگهداری رشتهها همین متغیر string نیاز ما را به خوبی برطرف میکند.
اما اگر صرفا خواستید فقط و فقط یک کاراکتر را ذخیره کنید، برای آن هم متغیری وجود دارد.
۲.کاراکتر | متغیر char
با توجه به توضیحی که داده شد، هر زمان که در برنامه خود نیاز داشتید تا تنها یک کاراکتر مثل A یا a یا 1 و امثالهم را ذخیره کنید، میتوانید از کاراکتر char استفاده کنید.
این هم از متغیر char، اما برویم سراغ آخرین متغیر کاربردی که به شدت از آن در برنامههایتان استفاده خواهید کرد.
ببینید دوستان، فرض را بر این بگیرید که شما برنامهنویس سازمان ثبت احوال هستید، خب همانطور که میدانید این سازمان وظیفه نگهداری اطلاعات تمامی ایرانیان را دارد.
در بین تمامی اطلاعاتی که باید از ایرانیان در برنامهتان ذخیره کنید، یک ستون از جدول پایگاه داده شما قطعا به جنسیت اختصاص داده میشود، اگر بخواهید در بخش جنسیت برای هشتاد و پنج میلیون ایرانی، مدام کلمه مذکر و مونث را تکرار کنید، میدانید چه حجمی را از حافظه خود بیهوده مصرف و اشغال کردهاید؟؟؟
کلمه مذکر و مونث هر دو دارای چهار کاراکتر هستند که در دوره تخصصی پایگاه داده با SQL Server 2019 یاد خواهید گرفت که برای هر کاراکتر از حروف فارسی، دو بایت فضا اشغال خواهد شد، در نتیجه برای ذخیره نمودن هر دو کلمه مذکر یا مونث، باید ۸ بایت فضا از حافظه اشغال شود که با احتساب جمعیت ایران (۸۵,۰۰۰,۰۰۰ نفر) چیزی حدود ۶۸۰ میلیون بایت فضا فقط برای ستون جنسیت مصرف خواهد شد! که این اصلا خوب نیست! قبول دارید؟!
به همین علت متغیر دیگری بوجود آمد تا این مشکل را برطرف کند:
۳.بولین | متغیر bool
متغیر بولین bool تنها میتواند دو مقدار را در خود نگهداری کند، مقدار true یا مقدار false (البته که میتوان عدد صفر یا یک را هم که نمایانگر همان true و false هستند در متغیر بولین نگهداری کرد)، در نتیجه هر زمان که در برنامه خود به وضعیتهای دوحالتهای مثل شب و روز، مرد و زن، مجرد و متاهل، قبول و مردود و … برخوردید، میتوانید از متغیر بولین استفاده کنید.
خب دوستان به همین راحتی متغیرهای پرکابرد معمولی (ساده) را یاد گرفتید، فکر میکنم خالی از لطف نباشه که نحوه مقدار دهی هر کدام از این متغیرها را هم بایکدیگر ببینیم و یاد بگیریم، البته باید اول نحوه تعریف کردن متغیرها را خدمتتان توضیح دهیم.
در زبانهای برنامهنوسی هر کدام از متغیرهایی که در بالا یاد گرفتید، باید یک نام منحصر به فرد برای خودشون داشته باشند، به این نام در زبانهای برنامهنویسی شناسه میگویند، شناسهها توسط خود برنامهنویسها انتخاب و نوشته میشوند.
پس در ابتدا بنده برای هرکدام از متغیرهایی که در بالا خدمتتان توضیح دادم، یک شناسه تعریف میکنم:
byte a;
char b;
short c;
int d;
long e;
float f;
double g;
decimal h;
string i;
bool j;
درنتیجه برای تعریف کردن متغیرها، باید اول اسم متغیرها را نوشته و سپس یک شناسه برای آن انتخاب کرد. ( که من از a تا j ) تعریف کردم، و در آخر هم با علامت سمیکالن ( ; ) این دستور را بستم.
خب با اینکاری که کردیم، ظرفهایی در حافظه درست شدهاند که هیچ مقداری در خودشون ندارند، عین این میماند که شما لیوان دستتان دارید، ولی داخل لیوان هیچ مقداری وجود ندارد!
حالا که ظرفهای ما (متغیرها) آماده شدهاند (تعریف شدهاند)، میتوانیم موارد (داده) را درون آنان ذخیره کنیم:
byte a = 5;
char b = 'A';
short c = 19325;
int d = 1946786;
long e = 346796435467;
float f = 3.1415161f;
double g = 3.1415161718;
decimal h = 3.1415161718192m;
string i = "kaarisho";
bool j = true;
نکته اول: مقدار قابل ذخیره سازی برای متغیر char حتما باید داخل دو تا سینگل کوتیشن ( ‘ ‘ ) نوشته شود.
نکته دوم: در انتهای مقدار قابل ذخیره سازی برای متغیر float حتما باید حرف f نوشته شود.
نکته سوم: در انتهای مقدار قابل ذخیره سازی برای متغیر decimal حتما باید حرف m نوشته شود.
نکته چهارم: مقدار قابل ذخیره سازی برای متغیر string حتما باید داخل دوتا دابل کوتیشن ( ” ” ) نوشته شود.
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.