متغیرها (Razor C# Variables)
اینجا درباره «متغیر (Variable)» در Razor حرف می زنیم. متغیر یعنی ظرف داده. مثل دفتر نمره که عددها را نگه می دارد. هدف ما فهم ساده نام گذاری، نوع داده، عملگرها و تبدیل هاست.
قواعد نام گذاری و نوع دهی
نام متغیر با حرف شروع می شود. فاصله و کاراکتر رزرو ممنوع است. نوع داده یعنی جنس محتوا؛ مثل عدد یا متن. در C# می توان با var یا با نوع صریح تعریف کرد. Razor معمولاً نوع را حدس می زند.
@{
var greeting = "Welcome to W3Schools";
var counter = 103;
var today = DateTime.Today;
}
@{
string title = "UnderDevelops";
int score = 12;
DateTime now = DateTime.Now;
}
<p>@greeting - @counter - @today</p>
<p>@title - @score - @now.Hour</p>
انواع داده رایج در C#
چند نوع مهم: int برای عدد صحیح. float و decimal برای عدد اعشاری. string برای متن. bool برای درست یا نادرست. انتخاب درست، دقت و سرعت را بهتر می کند.
عملگرها؛ حساب، مقایسه و منطق
«عملگر (Operator)» به C# می گوید چه کاری انجام دهد. مثل + برای جمع یا == برای برابری. && یعنی و منطقی، || یعنی یا.
@{
int i = 5;
i = i + 5;
i = i - 2;
i = i * 3;
i = i / 2;
i += 1;
i -= 1;
bool ready = true;
bool clear = false;
bool ok = (i == 10);
bool notOk = (i != 10);
bool cond1 = (i < 10);
bool cond2 = (i >= 5);
bool both = ready && clear;
bool either = ready || clear;
string joined = "w3" + "schools";
}
<p>@i - @ok - @either - @joined</p>
تبدیل نوع؛ از رشته به عدد
ورودی کاربر معمولاً «رشته (String)» است. برای محاسبه باید تبدیل شود. از AsInt، AsFloat، AsDecimal، AsDateTime و AsBool کمک بگیر.
@{
string t1 = "15";
string t2 = "7";
int n1 = 0;
int n2 = 0;
if (t1.IsInt())
{
n1 = t1.AsInt();
}
if (t2.IsInt())
{
n2 = t2.AsInt();
}
int sum = n1 + n2;
DateTime d = "10/10/2012".AsDateTime();
bool flag = "True".AsBool();
string txt = sum.ToString();
}
<p>Sum: @txt - Date: @d.ToShortDateString() - Flag: @flag</p>
گام های عملی سریع
- یک فایل .cshtml بساز و یک بلوک @{ } بگذار.
- چند متغیر بساز و با عملگرها مقدارشان را تغییر بده.
- دو ورودی رشته را با AsInt به عدد تبدیل کن.
نکته: برای مرور قوانین کلی، بخش سینتکس Razor را ببین.
هشدار: همیشه ورودی کاربر را بررسی کن. تبدیل اشتباه، خطا می دهد.
جمع بندی سریع
- متغیر ظرف داده است.
- var یا نوع صریح را به کار ببر.
- عملگرها محاسبه و مقایسه را انجام می دهند.
- ورودی ها را قبل محاسبه تبدیل کن.