آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

آموزش ASP.Net به زبان ساده   >  آموزش ASP.Net Razor   
     درس هشتم : آموزش کار با دستورات منطقی در ASP.Net Razor VB

دستورات منطقی ، چه دستوراتی هستند ؟

دستورات منطقی ، کدهایی هستند که در صورت بروز یک شرط یا شروط خاصی اجرا می شوند .
در صورتی که مقدار شرط تعیین شده صحیح باشد ، دستور تعیین شده اجرا شده و در صورت عدم برقراری شرط ، دستور اجرا نمی شود . همچنین می توانید دستوری دیگری تعیین نمایید تا در صورت عدم برقراری شرط ، نیز اجرا شود .  برای مثال فرض کنید که می خواهید به کاربر وقت بخیر بگویید . برای این منظور یک دستور if می نویسید که در شرط آن ، ساعت سنجیده می شود . اگر ساعت از 12 ظهر نگذشته بود ، دستوری می نویسید که به وی صبح بخیر گفته و در غیر اینصورت به وی عصر بخیر بگوید و ... .
در این درس به بررسی انواع حالت های منطقی در Razor VB ، خواهیم پرداخت .

دستور IF Condition :

این دستور ، در صورت برقراری شرط تعیین شده برای آن ، کدهای خود را اجرا می کند . در غیر اینصورت کدی اجرا نمی شود . ساختار دستوری if به صورت زیر است :

  • دستور با کلمه کلیدی If شروع شده و پس از آن شرط یا شروط مورد نظر برای دستور  If تعیین می شوند .  سپس کلمه کلیدی Then را قرار می دهید .
  • در صورت برقراری شرط  یا شروط مورد نظر ، کدهایی که بین محدوده کلمه Then و End If قرار دارند اجرا شده و در صورت عدم بر قراری شرط ، هیچ دستوری اجرا نمی شود . مثال زیر نحوه تعریف و استفاده از این نوع شرط را نشان می دهد .
  • ساختار دستوری If در VB با End If به پایان می رسد .

مثال : در مثال زیر یک متغیر قیمت به نام price را در ابتدای صفحه تعیین و مقدار آن را بر روی 50 تنظیم نموده ایم . سپس درون یک دستور شرطی if در کد صفحه ، مقدار متغیر price را سنجیده و تعیین کرده ایم تا اگر مقدار آن از 30 بیشتر بود ، پیام " قیمت زیاد است " را به کاربر نمایش دهد . در غیر اینصورت ( اگر قیمت زیر 30 باشد ) پیامی به کاربر صادر نمی شود .

توجه کنید که این مثال یک مثال ساده است ، ولی می توان کاری کرد تا مثلا مقدار متغیر قیمت از یک ورودی توسط کاربر گرفته شده یا از یک منبع داده ای خوانده شود .

مثال @Code
   Dim price=50
End Code

<html>
  <body>
    
  @If price>30 Then
           @<p> قیمت زیاد است .</p>
       End If

  </body>

</html>
خروجی قیمت زیاد است .

بخش Else در دستور If :

دستور if در بخش دوم خود می تواند شامل گزینه ای به نام Else نیز باشد . کدهایی کهپس از کلمه کلیدی Else نوشته می شوند ، در صورتی که دستور If غلط باشند ، اجرا خواهند شد . مثال زیر نحوه اضافه کردن و استفاده از این بخش را نشان می دهد .
مثال 2 : در مثال زیر یک بخش جدید به انتهای دستور if به نام Else اضافه کرده ایم . بخش Else در صورتی که مقدار متغیر قیمت یا price زیر 30 باشد ( به عبارت دیگر ، شرط if در بخش اول غلط شود ) اجرا شده و پیامی مبنی برا اینکه " قیمت مناسب است " را صادر می کند .

مثال @Code
   Dim price=20
End Code

<html>
  <body>
     
  @if price>30 then
               <p>قیمت زیاد است .</p>
         Else
             <p> قیمت مناسب است.</p>
         End If

  </body>

</html>
خروجی قیمت مناسب است .

قسمت های اضافه تر و شرهای تو در تو ElseIf :

به هر تعداد مورد نیاز می توان دستورات if دیگری را با ساختار ElseIf به انتهای یک دستور if ( به جای بخش Else ) اضافه کرد .
این بخش ها ، هر یک دارای شرط خاص مربوط به خود بوده و برنامه شرط ها را از ابتدا ( خود دستور if اول ) چک می کند ، سپس کد هر if که شرط آن درست بوده را اجرا نموده و کد بقیه را نادیده می گیرد . در آخر کد نیز می توان یک بخش Else تعریف کرد ، تا در صوراتی که شرط هیچ یک از If های آن درست نبود ، کد قسمت Else اجرا شود. مثال زیر نحوه استفاده از If های ادامه دار و چندگانه را نشان می دهد .
مثال 3 :  در مثال زیر دو دستور If ، اولی به صورت معمولی و دومی را با حالت ElseIf تعیین کرده ایم . دستور If اول چک می کند ، آیا قیمت از 30 بیشتر است . دستور ElseIf  دوم ، در صورتی که If اول اجرا نشود ، چک می می کند آیا قیمت بین 20 تا 30 است و در نهایت بخش آخر Else که در صورت درست نبودن If های قبل از خود ، اجرا می شود .

مثال @Code
   Dim price=25
End Code

<html>
  <body>
    
@If price>=30 Then
               <p>قیمت زیاد است .</p>
         ElseIf price>20 And price<30
              <p> قیمت مناسب است .</p>
         Else
             <p> قیمت کم است.</p>
         End If

  </body>

</html>
خروجی قیمت مناسب است .

ساختار دستوری Select :

ساختار دستوری Select ، نوع خاصی از دستورات شرطی است که برای حالات زیر به کار می رود :

  • خلاصه کردن و ساده سازی دستورات چندگانه If در قالب یک قطعه کد .
  • اجرای دستورات یا دستورات مورد نظر بر حسب مقادیر مختلف یک متغیر خاص .

هنگامی که تعداد دستورات If تو در تو زیاد شود ، ممکن است کد نا مفهموم شده و اجرای آن بر روی سیستم وقت گیر شود . همچنین وقتی قرار است بر مبنای مقدار های مختلف یک متغیر خاص ،  دستورات مختلفی اجرا شوند ، راه ساده و خلاصه تر استفاده از دستور Select است . شکل کلی استفاده از این دستور به شرح زیر است :

  • ابتدا کلمه کلیدی Select Case را نوشته و در مقابل آن ، متغیر مورد نظر خود را قرار می دهیم .
  • به وسیله کلمه کلیدی Case ، هر یک از مقدار های مختلف جهت متغیر خود را که می خواهیم در صورت برابری آن با مقدار تعیین شده ، اجرا شود را در " " کلمه Case تعیین می کنیم . سپس دستورات مورد نظر جهت اجرای برای آن حالت را در ادامه تعریف کرده و در پایان هر گروه دستور یک عبارت ; break برای توقف اجرای سایر دستورات Case های دیگر قرار می دهیم .
  • برنامه ابتدا مقدار متغیر را می خواند . سپس مقدار هر یک از Case های تعیین شده را با مقدار متغیر مقایسه کرده و در صورت برابر بودن آنها ، دستورات آن Case اجرا می شود . اگر در هر Case عبارت ; break را در انتهای دستورات قرار ندهیم ، همزمان با آن Case ، دستورات Case بعدی نیز اجرا شده که معمولا ما را دچار اشکال می کند . پس ; break فراموش نشود .
  • در نهایت اگر مقدار متغیر ، با مقادیر هیچ یک از Case ها یکسان نباشد ، دستورات بخش Else Case  اجرا می شوند . البته این بخش دلخواه بوده و می تواند اصلا تعیین نشود .

مثال 4 : در مثال زیر ، توسط یک دستور ابتدا مقدار روز تاریخ جاری سیستم ، در متغیر day ذخیره می شود . سپس یک متغیر به نام message  نیز برای صدور پیام دستور تعریف شده است .
دستور Select مقدار روز جاری یعنی متغیر day را با مقادیر Case های مختلف سنجیده و در صورت برابری با هر کدام ف دستور آن Case اجرا می شود . در نهایت اگر متغیر day با هیچ یک از مقادیر برابر نبود ، دستورات بخش Else Case  اجرا می شوند .

مثال @Code
      Dim weekday=DateTime.Now.DayOfWeek
      Dim day=weekday.ToString()
      Dim message=""
End Code

<html>
   <body>
      @Select Case 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;

           Case Else
              
 message="Today is " + day;
                break;

            End Select

      <p>@message</p>
  </body>
</html>


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1