متغیر ها و ثابت ها در زبان برنامه نویسی سی شارپ
سلام ، امیدوارم عالی باشی . من پوریا منتخبم و تو این مقاله میخوام نحوه بکار گیری متغیر ها و ثابت ها رو در زبان برنامه نویسی C# برات بررسی کنم پس تا آخرش با من باش .
راستی قبل اینکه فراموش کنم تو مقاله قبلی معماری برنامه های دات نتی رو کامل برات توضیح دادم حتما ببینش .
بزار با دو تا تعریف شروع کنم :
متغیر : نامی که به محل ذخیره سازی حافظه اختصاص میدیم ، جایی که می تونیم مقداری رو در اون ذخیره کنیم .
ثابت : یک مقدار غیر قابل تغییر که در زمان کامپایل تعریف میشه و در طول اجرای برنامه تغییر نمیکنه .
شاید برات سوال پیش بیاد که علت استفاده از ثابت ها چیه ؟ عمده ترین دلیلش امنیت و ایمن سازی کردن برنامه مون هست . مثال میزنم : فرض کن یه برنامه ای نوشتی که توش یه سری عملیات رو برای محاسبه مساحت دایره انجام میدی و همیشه با یه عددی به عنوان Pi سرو کار داری که مقدارش همیشه برابر 3.14 هست . به هیچ عنوان نباید به صورت اتفاقی این مقدار درون برنامت تغییر کنه .خب بهترین راهکار برای نگهداری این مقدار اینه که از ثابت ها استفاده کنی و این باعث ایمن سازی برنامه میشه .
تو C# برای اینکه متغیری رو بخوایم تعریف کنیم ابتدا باید نوع اون رو مشخص کنیم (تو این مقاله انواع داده ای رو برات به صورت کامل بررسی کردم حتما ببینش )
int variableName;
int variableName = 3;
const float Pi = 3.14f;
تو سه تا مثال بالا در ابتدا یه متغیر از نوع عددی صحیح با نام variableName تعریف کردیم اما در زمان تعریف مقداری رو براش در نظر نگرفتیم . در مثال دوم همون متغیر هست اما در زمان تعریفش مقداری رو به صورت پیش فرض درونش قرار دادیم و این مقدار در طول برنامه به هر تعداد دفعه قابل تغییره و در مثال سوم یه ثابت تعریف کردیم که از نوع اعشاریه و مقدارش در طول برنامه به هیچ عنوان قابل اغییر نیست و در صورت اقدام به تغییر اون در برنامه با خطای زمان کامپایل مواجه میشیم.
پیشنهاد استادباش برای خوندن این مقاله : بررسی کامل sessionStorage و localStorage
یه سری نکته های بسیار مهم در مورد متغیر ها و ثابت ها هست که حتما باید یادشون بگیری .
مهم اول : اول این که همونطور که میدونیم C# یه زبان حساس به حروف بزرگ و کوچیکه (همین سوال به این سادگی تو مصاحبه جذب نیروی برنامه نویس در اکثر شرکت ها پرسیده میشه ) که به اصطلاح بهش میگن Case Sensitive . حالا به کد های زیر نگاه کن :
int varibaleName;
int VariableName;
متغیر اول و دوم دقیقا هم نامن اما فقط حرف اولشون یکی با حروف بزرگه و یکی دیگه با حروف کوچیک . پس از نظر C# این دو تا متغیر کاملا با هم متفاوت هستن .
مهم دوم : یه متغیر فقط زمانی قابل استفادست که اون رو مقدار دهی کرده باشیم . به کدهای زیر نگاه کن :
int varibaleName;
Console.WriteLine(varibaleName);
در صورتی که بخوایم متغیری رو که هنوز مقدار دهی نشده رو در کنسول چاپ کنیم با خطای زمان کامپایل مواجه می شیم
مهم سوم : کلمه کلیدی Const برای معرفی کردن یه مقدار به صورت ثابت تو C# استفاده می شه و در زمان تعریف یک ثابت حتما حتما باید اون رو مقدار رهی کنیم در غیر این صورت خطای زمان کامپایل رو داریم .
منبع : سلسله آموزش های جناب Mosh Hamedani