آموزش زبان برنامه نویسی سی شارپ (#C) (قسمت هفتم - متغییر ها)

متغیرهامتغیر، مکانی از حافظه است که شما می‌توانید مقادیری را در آن ذخیره کنید. می‌توان آن را به عنوان یک ظرف تصور کرد که داده‌های خود را در آن قرار داده اید. محتویات این ظرف می‌تواند پاک شود یا تغییر کند. هر متغیر دارای یک نام نیز هست. که از طریق آن می‌توان متغیر را از دیگر متغیرها تشخیص داد و به مقدار آن دسترسی پیدا کرد. همچنین دارای یک مقدار می‌باشد که می‌تواند توسط کاربر انتخاب شده باشد یا نتیجه یک محاسبه باشد. مقدار متغیر می‌تواند تهی نیز باشد.متغیر دارای نوع نیز هست بدین معنی که نوع آن با نوع دادهای که در آن ذخیره می‌شود یکی است. متغیر دارای عمر نیز هست که از روی آن می‌توان تشخیص داد که متغیر باید چقدر در طول برنامه مورد استفاده قرار گیرد. و در نهایت متغیر دارای محدوده استفاده نیز هست که به شما میگوید که متغیر در چه جای برنامه برای شما قابل دسترسی است.ما از متغیرها به عنوان یک انبار موقتی برای ذخیره داده استفاده می‌کنیم. هنگامی که یک برنامه ایجاد می‌کنیم احتیاج به یک مکان برای ذخیره داده، مقادیر یا داده‌هایی که توسط کاربر وارد می‌شوند داریم. این مکان همان متغیر است. برای این از کلمه متغیر استفاده می‌شود چون ما می‌توانیم بسته به نوع شرایط، هر جا که لازم باشد مقدار آن را تغییر دهیم.متغیرها موقتی هستند و فقط موقعی مورد استفاده قرار می‌گیرند که برنامه در حال اجراست و وقتی شما برنامه را میبندید محتویات متغیرها نیز پاک می‌شود. قبل ذکر شد که به وسیله نام متغیر می‌توان به آن دسترسی پیدا کرد. برای نامگذاری متغیرها باید قوانین زیر را رعایت کرد:نام متغیر باید با یک از حروف الفبا (a-z or A-Z) شروع شود.نمی‌تواند شامل کاراکترهای غیرمجاز مانند #،?، و $ باشد.نمی‌توان از کلمات رزرو شده در سی شارپ برای نام متغیر استفاده کرد.نام متغیر نباید دارای فضای خالی (spaces) باشد.اسامی متغیرها نسبت به بزرگی و کوچکی حروف حساس هستند. در سی شارپ دو حرف مانند a و A دو کاراکتر مختلف به حساب می آیند.دو متغیر با نام های myNumber و MyNumber دو متغیر مختلف محسوب می‌شوند چون یکی از آنها با حرف کوچک m و دیگری با حرف بزرگ M شروع می‌شود. شما نمی‌توانید دو متغیر را که دقیق شبیه هم هستند را در یک Scope (محدوده) تعریف کنید. Scope به معنای یک بلوک کد است که متغیر در آن قابل دسترسی و استفاده است. در مورد Scope در فصل های آینده بیشتر توضیح خواهیم داد. متغیر دارای نوع هست و نوع آن همان نوع دادهای است که در خود ذخیره می کند. معمول ترین انواع داده char ،string ،double ،int، decimal ،float می باشند. برای مثال شما برای قرار دادن یک عدد صحیح در متغیر باید از نوع int استفاده کنید.انواع سادهانواع ساده، انواعی از داده ها هستند که شامل اعداد، کاراکترها، رشته ها و مقادیر بولی می باشند. به انواع ساده انواع اصلی نیز گفته می‌شود چون از آنها برای ساخت انواع پیچیده تری مانند کلاسها و ساختارها استفاده می‌شود. انواع ساده دارای مجموعه مشخصی از مقادیر هستند و محدوده خاصی از اعداد را در خود ذخیره می کنند. در جدول زیر انواع ساده و محدود آنها آمده است:به حرف u در ابتدای برخی از انواع داده ها مثل ushort توجه کنید. این بدان معناست که این نوع فقط شامل اعداد مثبت و صفر هستند. جدول زیر انواعی که مقادیر با ممیز اعشار را می‌توانند در خود ذخیره کنند، را نشان می‌دهد:برای به خاطر سپردن آنها باید از نماد علمی استفاده شود. نوع دیگری از انواع ساده برای ذخیره داده‌های غیر عددی به کار می روند و در جدول زیر نمایش داده شده اند:نوع char برای ذخیره کاراکترهای یونیکد استفاده می‌شود. کاراکترها باید داخل یک کوتیشن ساده قرار بگیرند مانند (’a‘). نوع bool فقط می‌تواند مقادیر درست (true) یا نادرست (false) را در خود ذخیره کند و بیشتر در برنامه هایی که دارای ساختار تصمیم گیری هستند، مورد استفاده قرار می گیرد. نوع string برای ذخیره گروهی از کاراکترها مانند یک پیغام استفاده می‌شود. مقادیر ذخیره شده در یک رشته باید داخل دابل کوتیشن قرار گیرند تا توسط کامپایلر به عنوان یک رشته در نظر گرفته شوند، مانند ("massage").استفاده از متغیرهادر مثال زیر نحوه تعریف و مقدار دهی متغیرها نمایش داده شده است:using System; public class Program { public static void Main() { //Declare variables int num1; int num2; double num3; double num4; bool boolVal; char myChar; string message; //Assign values to variables num1 = 1; num2 = 2; num3 = 3.54; num4 = 4.12; boolVal = true; myChar = 'R'; message = &quotHello World!&quot //Show the values of the variables Console.WriteLine(&quotnum1 = {0}&quot, num1); Console.WriteLine(&quotnum2 = {0}&quot, num2); Console.WriteLine(&quotnum3 = {0}&quot, num3); Console.WriteLine(&quotnum4 = {0}&quot, num4); Console.WriteLine(&quotboolVal = {0}&quot, boolVal); Console.WriteLine(&quotmyChar = {0}&quot, myChar); Console.WriteLine(&quotmessage = {0}&quot, message); } }num1 = 1 num2 = 2 num3 = 3.54 num4 = 4.12 boolVal = true myChar = R message = Hello World!تعریف متغیردر کدی که نوشتیم متغیرهایی با نوع و نام متفاوت تعریف شده اند. ابتدا باید نوع داده‌هایی را که این متغیرها قرار است در خود ذخیره کنند را مشخص کنیم و سپس یک نام برای آنها در نظر بگیریم و در آخر سمیکالن بگذاریم. همیشه به یاد داشته باشید که قبل از مقدار دهی و استفاده از متغیر باید آن را تعریف کرد.int num1; int num2; double num3; double num4; bool boolVal; char myChar; string message;نحوه تعریف متغیر به صورت زیر است:data_type identifier;این date_type همان نوع داده است مانند double ،int و ... .و identifier نیز نام متغیر است که به ما امکان استفاده و دسترسی به مقدار متغیر را می‌دهد. برای تعریف چند متغیر از یک نوع می‌توان به صورت زیر عمل کرد:data_type identifier1, identifier2, ... indentifierN;مثالint num1, num2, num3, num4, num5; string message1, message2, message3;در مثال بالا 5 متغیر از نوع صحیح و 3 متغیر از نوع رشته تعریف شده است. توجه داشته باشید که بین متغیرها باید علامت کاما (,) باشد.نامگذاری متغیرهانام متغیر باید با یک حرف یا زیرخط و به دنبال آن حرف یا عدد شروع شود. نمی‌توان از کاراکترهای خاص مانند #، %، & یا عدد برای شروع نام متغیر استفاده کرد مانند 2numbers. نام متغیر نباید دارای فاصله باشد. برای نام های چند حرفی می‌توان به جای فاصله از علامت زیرخط یا _ استفاده کرد.نام های مجاز:num1 - myNumber - studentCount - total - first_name - _minimumnum2 - myChar - average - amountDue - last_name - _maximumname - counter - sum - isLeapYear - color_of_car - _ageنام های غیر مجاز:#numbers# - 123 - #ofstudents - 1abc2123abc - $money - first name - ty.npmy number - this&that - last name - 1:00اگر به نام های مجاز در مثال بالا توجه کنید متوجه قراردادهای به کار رفته در نامگذاری آنها خواهید شد. یکی از روشهای نامگذاری، نامگذاری کوهان شتری است. در این روش که برای متغیرهای دو کلمه ای به کار می رود، اولین کلمه با حرف کوچک نوشته می‌شود و سایر کلمات با حرف بزرگ شروع می‌شوند. مانند myNumber. توجه کنید که اولین حرف کلمه Number با حرف بزرگ شروع شده است. مثال دیگر کلمه numberOfStudents است. اگر توجه کنید بعد از اولین کلمه، حرف اول سایر کلمات با حروف بزرگ نمایش داده شده است.