ASP.NET Razor - C# 邏輯條件

編程邏輯:執行基于條件的代碼。

If 條件

C# 允許您執行基于條件的代碼。

如需測試某個條件,您可以使用 if 語句。if 語句會基于您的測試來返回 true 或 false:

  • if 語句啟動代碼塊
  • 條件位于括號中
  • 如果條件為真,則執行花括號中的代碼

實例

@{var price=50;}
<html>
<body>
@if (price>30)
    {
    <p>價格太高。</p>
    }
</body>
</html>

運行實例

Else 條件

if 語句能夠包含 else 條件

else 條件定義條件為 false 時執行的代碼。

實例

@{var price=20;}
<html>
<body>
@if (price>30)
  {
  <p>價格太高。</p>
  }
else
  {
  <p>價格合適。</p>
  } 
</body>
</html>

運行實例

注釋:在上面的例子中,如果價格不大于 30,則執行其余的語句。

Else If 條件

可通過 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>

運行實例

在上面的例子中,如果第一個條件為 true,則執行第一個代碼塊。

否則,如果下一個條件為 true,則執行第二個代碼塊。

您能夠設置任意數量的 else if 條件。

如果 if 和 else if 條件均不為 true,則執行最后一個 else 代碼塊。

Switch 條件

switch 代碼塊可用于測試一系列具體的條件:

實例

@{
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>

運行實例

測試值 (day) 位于括號中。每個具體的測試條件以 case 關鍵詞開頭,以冒號結尾,其后允許任意數量的代碼行,以 break 語句結尾。如果測試值匹配 case 值,則執行代碼行。

switch 代碼塊可為其余的情況設置默認的 case (default:),允許在所有 case 均不為 true 時執行代碼。