سه شنبه ۲۷ شهريور ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سی شارپ - متغیرها

یک متغیر چیزی نیست جز نامی که به یک فضای ذخیره سازی داده شده است که برنامه های ما می توانند آن را دستکاری کنند. هر متغیر در سی شارپ دارای یک نوع خاص است که اندازه و چیدمان حافظه متغیر را تعیین می‌کند، محدوده مقادیری را که می‌توان در آن حافظه ذخیره کرد و مجموعه عملیاتی که می‌توان روی متغیر اعمال کرد.

انواع مقادیر پایه ارائه شده در سی شارپ را می توان به عنوان به این ترتیب دسته بندی کرد

نوع مثال
انواع عددی صحیح sbyte, byte, short, ushort, int, uint, long, ulong, and char
انواع ممیزی شناور float and double
انواع اعشاری decimal
انواع بولی true or false values, as assigned
انواع نال شدنی Nullable data types

سی شارپ همچنین امکان تعریف انواع مقادیر دیگر متغیر مانند enum و انواع مرجع متغیرها مانند class را می دهد که در درس های بعدی به آنها خواهیم پرداخت.

تعریف متغیرها

نحوه نگارش برای تعریف متغیر در سی شارپ به این ترتیب می باشد

<data_type> <variable_list>;

در اینجا، data_type باید یک نوع داده C# معتبر از جمله char، int، float، double یا هر نوع داده تعریف شده توسط کاربر باشد، و variable_list ممکن است شامل یک یا چند نام شناسه باشد که با کاما از هم جدا شده اند.

برخی از تعاریف متغیر در اینجا نشان داده شده است -

int i, j, k;
char c, ch;
float f, salary;
double d;

شما می توانید یک متغیر را در زمان تعریف به صورت زیر مقداردهی اولیه کنید

int i = 100;

مقداردهی اولیه متغیرها

متغیرها با علامت مساوی و به دنبال آن یک عبارت ثابت مقداردهی اولیه می شوند (به آن مقدار اختصاص داده می شود). شکل کلی مقداردهی اولیه به این ترتیب است

variable_name = value;

متغیرها را می توان در اعلان خود مقداردهی اولیه کرد. آغازگر از یک علامت مساوی و به دنبال آن یک عبارت ثابت به صورت زیر تشکیل شده است

<data_type> <variable_name> = value;

برای مثال چند نمونه زیر را مشاهده نمایید

int d = 3, f = 5;    /* مقداردهی اولیه d و f. */
byte z = 22;         /* z را مقداردهی اولیه می کند. */
double pi = 3.14159; /* تقریبی از پی را اعلام می کند. */
char x = 'x';        /* متغیر x دارای مقدار 'x' است. */

در برنامه نویسی بهتر است که متغیرها را به درستی مقداردهی اولیه کنید، در غیر این صورت گاهی اوقات ممکن است برنامه نتایج غیرمنتظره ای ایجاد کند.

مثال زیر از انواع مختلفی از متغیرها استفاده می کند

using System;

namespace VariableDefinition {
   class Program {
      static void Main(string[] args) {
         short a;
         int b ;
         double c;

         /* مقداردهی اولیه */
         a = 10;
         b = 20;
         c = a + b;
         Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
         Console.ReadLine();
      }
   }
}

هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -

a = 10, b = 20, c = 30

دریافت مقادیر از کاربر

کلاس Console در فضای نام System یک تابع ReadLine() برای پذیرش ورودی از کاربر و ذخیره آن در یک متغیر فراهم می کند.

مثلا،

int num;
num = Convert.ToInt32(Console.ReadLine());

تابع Convert.ToInt32 () داده های وارد شده توسط کاربر را به نوع داده int تبدیل می کند، زیرا () Console.ReadLine داده ها را در قالب رشته می پذیرد.

عبارات Lvalue و Rvalue در سی شارپ

دو نوع عبارت در C# وجود دارد

  • lvalue - عبارتی که lvalue است ممکن است به عنوان سمت چپ یا سمت راست یک تخصیص ظاهر شود.

  • rvalue - عبارتی که rvalue است ممکن است در سمت راست اما نه در سمت چپ یک انتساب ظاهر شود.

متغیرها lvalues ​​هستند و از این رو ممکن است در سمت چپ یک کد ظاهر شوند. مقادیر عددی rvalue هستند و از این رو ممکن نیست به آنها مقدار اختصاص داده شود و در سمت چپ ظاهر نمی شوند. در زیر یک عبارت C# درست وجود دارد -

int g = 20;

اما زیر یک عبارت معتبر نیست و باعث ایجاد خطای زمان کامپایل - می شود

10 = 20;