ASP.NET Razor - C# 逻辑条件

编程逻辑:执行基于条件的代码。

If 条件

C# 允许您执行基于条件的代码。

如需测试某个条件,您可以使用 if 语句。if 语句会基于您的测试来返回 true 或 false:

  • if 语句启动代码块
  • 条件位于括号中
  • 如果条件为真,则执行花括号中的代码

实例

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

运行实例

Else 条件

if 语句能够包含 else 条件

else 条件定义条件为 false 时执行的代码。

实例

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

运行实例

注释:在上面的例子中,如果价格不大于 30,则执行其余的语句。

Else If 条件

可通过 else if 条件来测试多个条件:

实例

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

运行实例

在上面的例子中,如果第一个条件为 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 时执行代码。