آموزش ASP.Net به زبان ساده > آموزش
ASP.Net Razor
درس پنجم : آموزش کار با دستورات منطقی در #ASP.Net Razor C
دستورات منطقی ، چه دستوراتی هستند ؟
دستورات منطقی ، کدهایی هستند که در صورت بروز یک شرط یا شروط خاصی اجرا می شوند .
در صورتی که مقدار شرط تعیین شده صحیح باشد ، دستور تعیین شده اجرا شده و در صورت عدم
برقراری شرط ، دستور اجرا نمی شود . همچنین می توانید دستوری دیگری تعیین نمایید تا
در صورت عدم برقراری شرط ، نیز اجرا شود . برای مثال فرض کنید که می خواهید به
کاربر وقت بخیر بگویید . برای این منظور یک دستور if می نویسید که در شرط آن ، ساعت
سنجیده می شود . اگر ساعت از 12 ظهر نگذشته بود ، دستوری می نویسید که به وی صبح بخیر
گفته و در غیر اینصورت به وی عصر بخیر بگوید و ... .
در این درس به بررسی انواع حالت های منطقی در #Razor C ، خواهیم پرداخت .
دستور IF Condition :
این دستور ، در صورت برقراری شرط تعیین شده برای آن ، کدهای خود را اجرا می کند . در
غیر اینصورت کدی اجرا نمی شود . ساختار دستوری if به صورت زیر است :
- دستور با کلمه کلیدی if شروع می شود .
- شرط یا شروط مورد نظر برای دستور در پرانتز مقابل if تعیین می شوند .
- در صورت برقراری شرط ها ، کدهایی که درون { } بعد پرانتز دستور قرار داشته اجرا شده
و در صورت عدم بر قراری شرط ، هیچ دستوری اجرا نمی شود . مثال زیر نحوه تعریف و استفاده
از این نوع شرط را نشان می دهد .
مثال : در مثال زیر یک متغیر قیمت به نام
price را در ابتدای صفحه تعیین و مقدار آن را بر روی 50 تنظیم نموده ایم
. سپس درون یک دستور شرطی if در کد صفحه ، مقدار متغیر price
را سنجیده و تعیین کرده ایم تا اگر مقدار آن از 30 بیشتر بود ، پیام " قیمت
زیاد است " را به کاربر نمایش دهد . در غیر اینصورت ( اگر قیمت زیر 30 باشد ) پیامی
به کاربر صادر نمی شود .
توجه کنید که این مثال یک مثال ساده است ، ولی می توان کاری کرد تا مثلا مقدار متغیر
قیمت از یک ورودی توسط کاربر گرفته شده یا از یک منبع داده ای خوانده شود .
|
مثال
|
@ { var price=50 ; }
<html>
<body>
@if (price>30)
{
<p>قیمت زیاد است .</p>
}
</body>
</html>
|
|
خروجی
|
قیمت زیاد است .
|
بخش Else در دستور If :
دستور if در بخش دوم خود می تواند شامل گزینه ای به نام else نیز باشد . کدهایی که
درون { } پس از کلمه کلیدی else نوشته می شوند ، در صورتی که دستور if غلط باشند ،
اجرا خواهند شد . مثال زیر نحوه اضافه کردن و استفاده از این بخش را نشان می دهد .
مثال 2 : در مثال زیر یک بخش جدید به انتهای دستور if به نام else
اضافه کرده ایم . بخش else در صورتی که مقدار متغیر قیمت یا price زیر 30 باشد ( به
عبارت دیگر ، شرط if در بخش اول غلط شود ) اجرا شده و پیامی مبنی برا اینکه " قیمت
مناسب است " را صادر می کند .
|
مثال
|
@ { var price=20 ; }
<html>
<body>
@if (price>30)
{
<p>قیمت زیاد است .</p>
}
else
{
<p>
قیمت مناسب است.</p>
}
</body>
</html>
|
|
خروجی
|
قیمت مناسب است .
|
قسمت های اضافه تر و شرهای تو در تو Else If :
به هر تعداد مورد نیاز می توان دستورات if دیگری را با ساختار else if به انتهای یک
دستور if ( به جای بخش else ) اضافه کرد .
این بخش ها ، هر یک دارای شرط خاص مربوط به خود بوده و برنامه شرط ها را از ابتدا (
خود دستور if اول ) چک می کند ، سپس کد هر if که شرط آن درست بوده را اجرا نموده و
کد بقیه را نادیده می گیرد . در آخر کد نیز می توان یک بخش else تعریف کرد ، تا در
صوراتی که شرط هیچ یک از if های آن درست نبود ، کد قسمت else اجرا شود. مثال زیر نحوه
استفاده از if های ادامه دار و چندگانه را نشان می دهد .
مثال 3 : در مثال زیر دو دستور if ، اولی به صورت معمولی و
دومی را با حالت else if تعیین کرده ایم . دستور if اول چک می کند ، آیا قیمت از 30
بیشتر است . دستور else if دوم ، در صورتی که if اول اجرا نشود ، چک می می کند آیا
قیمت بین 20 تا 30 است و در نهایت بخش آخر else که در صورت درست نبودن if های قبل از
خود ، اجرا می شود .
|
مثال
|
@ { var price=25 ; }
<html>
<body>
@if (price>30)
{
<p>قیمت زیاد است .</p>
}
else if (price>20 && price<30)
{
<p>
قیمت مناسب است .</p>
}
else
{
<p>
قیمت کم است.</p>
}
</body>
</html>
|
|
خروجی
|
قیمت مناسب است .
|
ساختار دستوری Switch :
ساختار دستوری switch ، نوع خاصی از دستورات شرطی است که برای حالات زیر به کار می
رود :
- خلاصه کردن و ساده سازی دستورات چندگانه if در قالب یک قطعه کد .
- اجرای دستورات یا دستورات مورد نظر بر حسب مقادیر مختلف یک متغیر خاص .
هنگامی که تعداد دستورات if تو در تو زیاد شود ، ممکن است کد نا مفهموم شده و اجرای
آن بر روی سیستم وقت گیر شود . همچنین وقتی قرار است بر مبنای مقدار های مختلف یک متغیر
خاص ، دستورات مختلفی اجرا شوند ، راه ساده و خلاصه تر استفاده از دستور switch
است . شکل کلی استفاده از این دستور به شرح زیر است :
- ابتدا کلمه کلیدی switch را نوشته و در پرانتز مقابل آن ، متغیر مورد نظر خود را قرار
می دهیم . سپس برای تعیین انواع دستورات مورد نظر جهت اجرا ، یک { } قرار می دهیم .
- به وسیله کلمه کلیدی case ، هر یک از مقدار های مختلف جهت متغیر خود را که می خواهیم
در صورت برابری آن با مقدار تعیین شده ، اجرا شود را در " " کلمه case تعیین
می کنیم . سپس دستورات مورد نظر جهت اجرای برای آن حالت را در ادامه تعریف کرده و در
پایان هر گروه دستور یک عبارت ; break برای توقف اجرای سایر دستورات case های دیگر
قرار می دهیم .
- برنامه ابتدا مقدار متغیر را می خواند . سپس مقدار هر یک از case های تعیین شده را
با مقدار متغیر مقایسه کرده و در صورت برابر بودن آنها ، دستورات آن case اجرا می شود
. اگر در هر case عبارت ; break را در انتهای دستورات قرار ندهیم ، همزمان با آن case
، دستورات case بعدی نیز اجرا شده که معمولا ما را دچار اشکال می کند . پس ; break
فراموش نشود .
- در نهایت اگر مقدار متغیر ، با مقادیر هیچ یک از case ها یکسان نباشد ، دستورات بخش
default اجرا می شوند . البته این بخش دلخواه بوده و می تواند اصلا تعیین نشود .
مثال 4 : در مثال زیر ، توسط یک دستور ابتدا مقدار روز تاریخ جاری
سیستم ، در متغیر day ذخیره می شود . سپس یک متغیر به نام message نیز برای صدور
پیام دستور تعریف شده است .
دستور switch مقدار روز جاری یعنی متغیر day را با مقادیر case های مختلف سنجیده و
در صورت برابری با هر کدام ف دستور آن case اجرا می شود . در نهایت اگر متغیر day با
هیچ یک از مقادیر برابر نبود ، دستورات بخش default اجرا می شوند .
|
مثال
|
@{
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString();
var message="";
}
<html>
<body>
@switch(day)
{
case "Monday":
message="This is the first weekday.";
break;
case "Thursday":
message="Only one day before weekend.";
break;
case "Friday":
message="Tomorrow is weekend!";
break;
default:
message="Today is " + day;
break;
}
<p>@message</p>
</body>
</html>
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :