محمد شعبانی
محمد شعبانی
خواندن ۳ دقیقه·۵ ماه پیش

بررسی مبحث Constants Variables در #C - قسمت هفتم

سلام عرض می کنم خدمت شما دوستان عزیزم در این جلسه آموزشی قصد به مبحث متغیر های ثابت یا به اصطلاح Constants Variables بپردازیم. قبل از تعریف این موضوع به کدهای زیر دقت کنید:

int myNumber = 2000;

myNumber = 4000;

Console.WriteLine(myNumber);

به نظر شما مقدار متغیر myNumber برابر 2000 است یا 4000؟ سوال جالبی است. جواب این است که مقدار فعلی این متغیر 4000 است. بله این ویژگی وجود دارد که وقتی برای اولین بار به متغیری مقداری نسبت داده می شود، در خط بعدی و در جای دیگر بتوان مقدار آن متغیر را عوض کرد یا به اصطلاح بتوان مقدار دیگری به آن نسبت داد. این خاصیت را می توان برای هر نوع داده در هر متغیری پیاده سازی و استفاده کرد.

دقیقا تا چه زمانی این ویژگی برقرار است؟ اگر از کلمه کلیدی const پیش از نوع داده تان استفاده نکنید، تا ابد بر قرار است!


مبحث Constants Variables ها

قطعا تا به اینجای کار به صورت غیر مستقیم هم که شده متوجه شده اید که منظور از Constants Variables ها چیست. زمانی از کلمه کلیدی و دستور const در پیش از نوع داده ای استفاده می کنیم که می خواهیم مقدار آن متغیر ثابت بماند و دستخوش هیچ تغیری نباشد. ساختار ساخت یک متغیر ثابت یا Constants Variables به این صورت است:

constKeyword VariableType + VariableName + (=) + VariableValue

دقیقا مانند آن تعریفی است که برای متغیر های غیر ثابت در قسمت دوم به کار بردیم اما با این تفاوت که قبل از تعریف نوع داده باید از کلمه کلیدی const استفاده کنیم. به مثالی در زیر که برای یک متغیرِ const از جنس رشته (String) زده شده است دقت کنید:

const string location = "https://virgool.io";

مقداری ثابت به نام https://virgool.io در متغیر location به صورت ثابت برای همیشه ذخیره می ماند و هیچ راهی و هیچ روشی برای تغییر دادن مقدار این متغیر نمی توان ارائه کرد.

مثالی دیگر با نوع داده عددی (int):

const int myPersonaCode = 25800852;

در مثال بالا هم مقدارِ ثابتِ 25800852 برای متغیر myPersonalCode در نظر گرفته شده است.

کاربرد

گاهی لازم است که در یک برنامه مقدار یک متغیر تغییر نکند. فرض کنید برنامه ای داریم که می خواهیم به وسیله آن مساحت دایره (شعاع به توان 2 ضربدر عدد پی) را حساب کنیم. همه می دانند که مقدار عدد پی تقریبا برابر 3.14 است، مقدار دیگری که برای این متغیر سراغ ندارید؟ مگر تا به حال کمتر یا بیشتر از 3.14 دیده اید؟ پس نتیجه می گیریم متغیری که مقدار عدد پی را نگهداری می کند با حتما ثابت و const باشد. مثال:

int radius = 25;

const float piNumber = 3.14F;

Console.WriteLine( radius * radius * piNumber);

نیازی به گفتن دیگر نباید باشد که 3.14 عددی اعشاری است و طبق قسمت دوم انواع داده های اعشاری مربوط به float بوده اند! خروجیِ برنامه محاسبهِ مساحتِ دایره برابر با 1962 خواهد بود.

چرا از const برای متغیر piNumber استفاده کردیم؟ چون می دانیم همواره این عدد ثابت است و مقدار دیگری نباید به آن اختصاص دهیم. پس یعنی اگر در قسمت دیگری بخواهیم مقداری چاپ کنیم و اتفاقی آن را به piNumber اختصاص دهیم، متوجه می شویم که نباید با piNumber شوخی کنیم چون const است.


-نکته شماره یک: اگر یک متغیرِ ثابت با کلمه کلیدی const تعریف کردیم و در خطوط دیگری از کد یا کلاً مکان دیگری بخواهیم مقدار این متغیر را عوض کنیم چه اتفاقی می افتد؟ پاسخ مشخص است این کار صورت نمی گیرد و در عوض با Error مواجه خواهیم شد. می گویید نه امتحان کنید:

const int myNum = 15;

myNum = 20;

Console.WriteLine(myNum);

خروجی:

prog.cs(10,7): error CS0131: The left-hand side of an assignment must be a variable, a property or an indexer Compilation failed: 1 error(s), 0 warnings.



قسمت هفتم از سری آموزش های #C به پایان رسد و امیدوارم مفید واقع بوده باشد. تا قسمت های دیگر در آینده برای شما دوستان عزیز آرزوی کدی بی باگ دارم و خدانگهدار!




constants variablesمتغیر های ثابت در سی شارپمتغیر های const در سی شارپمتغیر در سی شارپانواع متغیر در سی شارپ
ریاضی دان و برنامه نویس
شاید از این پست‌ها خوشتان بیاید