ASP.NET Razor - C# 逻辑条件

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

If 条件

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

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

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

实例

  1. @{var price=50;}
  2. <html>
  3. <body>
  4. @if (price>30)
  5. {
  6. <p>The price is too high.</p>
  7. }
  8. </body>
  9. </html>

Else 条件

if 语句能够包含 else 条件

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

实例

  1. @{var price=20;}
  2. <html>
  3. <body>
  4. @if (price>30)
  5. {
  6. <p>The price is too high.</p>
  7. }
  8. else
  9. {
  10. <p>The price is OK.</p>
  11. }
  12. </body>
  13. </html>

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

Else If 条件

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

实例

  1. @{var price=25;}
  2. <html>
  3. <body>
  4. @if (price>=30)
  5. {
  6. <p>The price is high.</p>
  7. }
  8. else if (price>20 && price<30)
  9. {
  10. <p>The price is OK.</p>
  11. }
  12. else
  13. {
  14. <p>The price is low.</p>
  15. }
    </body>
  16. </html>

在上面的例子中,如果第一个条件为 true,则执行第一个代码块。

否则,如果下一个条件为 true,则执行第二个代码块。

您能够设置任意数量的 else if 条件。

如果 if 和 else if 条件均不为 true,则执行最后一个 else 代码块。

Switch 条件

switch 代码块可用于测试一系列具体的条件:

实例

  1. @{
  2. var weekday=DateTime.Now.DayOfWeek;
  3. var day=weekday.ToString();
  4. var message="";
  5. }
  6. <html>
  7. <body>
  8. @switch(day)
  9. {
  10. case "Monday":
  11. message="This is the first weekday.";
  12. break;
  13. case "Thursday":
  14. message="Only one day before weekend.";
  15. break;
  16. case "Friday":
  17. message="Tomorrow is weekend!";
  18. break;
  19. default:
  20. message="Today is " + day;
  21. break;
  22. }
  23. <p>@message</p>
  24. </body>
  25. </html>

测试值 (day) 位于括号中。每个具体的测试条件以 case 关键词开头,以冒号结尾,其后允许任意数量的代码行,以 break 语句结尾。如果测试值匹配 case 值,则执行代码行。

switch 代码块可为其余的情况设置默认的 case (default:),允许在所有 case 均不为 true 时执行代码。