ASP.NET 剃刀 - C# 逻辑条件


编程逻辑:根据条件执行代码。


If 条件

C# 允许您根据条件执行代码。

要测试条件,您可以使用if 语句。 if 语句根据您的测试返回 true 或 false:

  • if 语句开始一个代码块
  • 条件写在括号内
  • 如果测试为 true,则执行大括号内的代码

示例

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

其他条件

if 语句可以包含否则条件

else 条件定义了条件为假时要执行的代码。

示例

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

笔记:在上面的例子中,如果第一个条件为真,就会执行。 else 条件涵盖"everything else"。



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>
运行示例 »

在上面的例子中,如果第一个条件为真,就会执行。

如果不是,那么如果下一个条件为真,则执行该条件。

您可以有任意数量的 else if 条件。

如果 if 和 else if 条件均不成立,则最后一个 else 块(无条件)将覆盖 "everything else"。


切换条件

开关块可用于测试许多单独的条件:

示例

@{
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>
运行示例 »

测试值(天)在括号内。每个单独的测试条件都有一个以冒号结尾的 case 值,以及以 break 语句结尾的任意数量的代码行。如果测试值与 case 值匹配,则执行代码行。

switch 块可以有 "everything else" 的默认情况 (default:),如果没有任何情况为 true,则运行该默认情况。