آموزش سی شارپ - متغیرها
یک متغیر چیزی نیست جز نامی که به یک فضای ذخیره سازی داده شده است که برنامه های ما می توانند آن را دستکاری کنند. هر متغیر در سی شارپ دارای یک نوع خاص است که اندازه و چیدمان حافظه متغیر را تعیین میکند، محدوده مقادیری را که میتوان در آن حافظه ذخیره کرد و مجموعه عملیاتی که میتوان روی متغیر اعمال کرد.
انواع مقادیر پایه ارائه شده در سی شارپ را می توان به عنوان به این ترتیب دسته بندی کرد
نوع | مثال |
---|---|
انواع عددی صحیح | 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;