ASP.NET Razor - C# 邏輯條件


編程邏輯:根據(jù)條件執(zhí)行代碼。


If 條件

C# 允許根據(jù)條件執(zhí)行代碼。

使用 if 語句來判斷條件。根據(jù)判斷結(jié)果,if 語句返回 true 或者 false:

  • if 語句開始一個(gè)代碼塊
  • 條件寫在括號里
  • 如果條件為真,大括號內(nèi)的代碼被執(zhí)行

實(shí)例

@{var price=50;}
<html>
<body>
@if (price>30)
  {
  <p>The price is too high.</p>
  }
</body>
</html>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


Else 條件

if 語句可以包含 else 條件。

else 條件定義了當(dāng)條件為假時(shí)被執(zhí)行的代碼。

實(shí)例

@{var price=20;}
<html>
<body>
@if (price>30)
    {
    <p>The price is too high.</p>
    }
    else
    {    
    <p>The price is OK.</p>
    }
</body>
</html>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

注釋:在上面的實(shí)例中,如果第一個(gè)條件為真,if 塊的代碼將會被執(zhí)行。else 條件覆蓋了除 if 條件之外的"其他所有情況"。


Else If 條件

多個(gè)條件判斷可以使用 else if 條件

實(shí)例

@{var price=25;}
<html>
<body>
if (price>=30)
    {
    <p>The price is high.</p>
    }
    else if (price>20 && price<30)  
    {
    <p>The price is OK.</p>
    }
    else
    {
    <p>The price is low.</p>
    }
</body>
</html>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

在上面的實(shí)例中,如果第一個(gè)條件為真,if 塊的代碼將會被執(zhí)行。

如果第一個(gè)條件不為真且第二個(gè)條件為真,else if 塊的代碼將會被執(zhí)行。

else if 條件的數(shù)量不受限制。

如果 if 和 else if 條件都不為真,最后的 else 塊(不帶條件)覆蓋了"其他所有情況"。


Switch 條件

switch 塊可以用來測試一些單獨(dú)的條件:

實(shí)例

@{
var message="";
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString()
}
<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>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

測試值(day)是寫在括號中。每個(gè)單獨(dú)的測試條件都有一個(gè)以分號結(jié)束的 case 值和以 break 語句結(jié)束的任意數(shù)量的代碼行。如果測試值與 case 值相匹配,相應(yīng)的代碼行被執(zhí)行。

switch 塊有一個(gè)默認(rèn)的情況(default:),當(dāng)所有的指定的情況都不匹配時(shí),它覆蓋了"其他所有情況"。