Razor - C# 逻辑条件
编程逻辑:根据条件执行代码。
If 条件
C# 允许根据条件执行代码。
使用 if 语句来判断条件。根据判断结果,if 语句返回 true 或者 false:
- if 语句开始一个代码块
- 条件写在括号里
- 如果条件为真,大括号内的代码被执行
实例
1 2 | <div class = "example_code notranslate" >
<span class = "marked" >@{ var price=50;}<br></span><html><br><body><br><span class = "marked" >@ if (price>30)<br> {<br> <p>The price is too high.</p><br> }<br></span></body><br></html></div>
|
Else 条件
if 语句可以包含 else 条件。
else 条件定义了当条件为假时被执行的代码。
实例
1 2 | <div class = "example_code notranslate" >
<span class = "marked" >@{ var price=20;}<br></span><html><br><body><br><span class = "marked" >@ if (price>30)<br> {<br> <p>The price is too high.</p><br> }<br> else <br> {<br> <p>The price is OK.</p><br> } <br></span></body><br></html></div>
|
注释:在上面的实例中,如果第一个条件为真,if 块的代码将会被执行。else 条件覆盖了除 if 条件之外的"其他所有情况"。
Else If 条件
多个条件判断可以使用 else if 条件:
实例
1 2 | <div class = "example_code notranslate" >
<span class = "marked" >@{ var price=25;}<br></span><html><br><body><br><span class = "marked" >@ if (price>=30)<br> {<br> <p>The price is high.</p><br> }<br> else if (price>20 && price<30) <br> {<br> <p>The price is OK.</p><br> }<br> else <br> {<br> <p>The price is low.</p><br> } <br></span></body><br></html></div>
|
在上面的实例中,如果第一个条件为真,if 块的代码将会被执行。
如果第一个条件不为真且第二个条件为真,else if 块的代码将会被执行。
else if 条件的数量不受限制。
如果 if 和 else if 条件都不为真,最后的 else 块(不带条件)覆盖了"其他所有情况"。
Switch 条件
switch 块可以用来测试一些单独的条件:
实例
1 2 3 | <div class = "example_code notranslate" >
<span class = "marked" > @{<br> var weekday=DateTime.Now.DayOfWeek;<br> var day=weekday.ToString();<br> var message= "" ;<br>}<br></span><html><br><body><br><span class = "marked" > @ switch (day)<br>{<br> case "Monday" :<br> message= "This is the first weekday." ;<br> break ;<br> case "Thursday" :<br> message= "Only one day before weekend." ;<br> break ;<br> case "Friday" :<br> message= "Tomorrow is weekend!" ;<br> break ;<br> default :<br> message= "Today is " + day;<br> break ;<br>}<br></span><p><span class = "marked" >@message</span></p><br></body><br></html> <br>
</div>
|
测试值(day)是写在括号中。每个单独的测试条件都有一个以分号结束的 case 值和以 break 语句结束的任意数量的代码行。如果测试值与 case 值相匹配,相应的代码行被执行。
switch 块有一个默认的情况(default:),当所有的指定的情况都不匹配时,它覆盖了"其他所有情况"。