# 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>
```
[运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_010)
## Else 条件
if 语句可以包含 **else 条件**。
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>
```
[运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_011)
**注释:**在上面的实例中,如果第一个条件为真,if 块的代码将会被执行。else 条件覆盖了除 if 条件之外的"其他所有情况"。
## 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>
```
[运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_012)
在上面的实例中,如果第一个条件为真,if 块的代码将会被执行。
如果第一个条件不为真且第二个条件为真,else if 块的代码将会被执行。
else if 条件的数量不受限制。
如果 if 和 else if 条件都不为真,最后的 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>
```
[运行实例 ?](/try/showfile_c.php?filename=try_razor_cs_013)
测试值(day)是写在括号中。每个单独的测试条件都有一个以分号结束的 case 值和以 break 语句结束的任意数量的代码行。如果测试值与 case 值相匹配,相应的代码行被执行。
switch 块有一个默认的情况(default:),当所有的指定的情况都不匹配时,它覆盖了"其他所有情况"。
- C# 基础
- C# 简介
- C# 环境
- C# 程序结构
- C# 基本语法
- C# 数据类型
- C# 类型转换
- C# 变量
- C# 常量
- C# 运算符
- C# 判断
- C# 循环
- C# 封装
- C# 方法
- C# 可空类型(Nullable)
- C# 数组(Array)
- C# 字符串(String)
- C# 结构(Struct)
- C# 枚举(Enum)
- C# 类(Class)
- C# 继承
- C# 多态性
- C# 运算符重载
- C# 接口(Interface)
- C# 命名空间(Namespace)
- C# 预处理器指令
- C# 正则表达式
- C# 异常处理
- C# 文件的输入与输出
- C# 高级
- C# 特性(Attribute)
- C# 反射(Reflection)
- C# 属性(Property)
- C# 索引器(Indexer)
- C# 委托(Delegate)
- C# 事件(Event)
- C# 集合(Collection)
- C# 泛型(Generic)
- C# 匿名方法
- C# 不安全代码
- C# 多线程
- ASP.NET 简介
- Web Pages 教程
- ASP.NET Web Pages - 教程
- ASP.NET Web Pages - 添加 Razor 代码
- ASP.NET Web Pages - 页面布局
- ASP.NET Web Pages - 文件夹
- ASP.NET Web Pages - 全局页面
- ASP.NET Web Pages - HTML 表单
- ASP.NET Web Pages - 对象
- ASP.NET Web Pages - 文件
- ASP.NET Web Pages - 帮助器
- ASP.NET Web Pages - WebGrid 帮助器
- ASP.NET Web Pages - Chart 帮助器
- ASP.NET Web Pages - WebMail 帮助器
- ASP.NET Web Pages - PHP
- ASP.NET Web Pages - 发布网站
- Razor 教程
- ASP.NET Razor - 标记
- ASP.NET Razor - C# 和 VB 代码语法
- ASP.NET Razor - C# 变量
- ASP.NET Razor - C# 循环和数组
- ASP.NET Razor - C# 逻辑条件
- ASP.NET Razor - VB 变量
- ASP.NET Razor - VB 循环和数组
- ASP.NET Razor - VB 逻辑条件
- MVC 教程
- ASP.NET MVC 教程
- ASP.NET MVC - Internet 应用程序
- ASP.NET MVC - 应用程序文件夹
- ASP.NET MVC - 样式和布局
- ASP.NET MVC - 控制器
- ASP.NET MVC - 视图
- ASP.NET MVC - SQL 数据库
- ASP.NET MVC - 模型
- ASP.NET MVC - 安全
- ASP.NET MVC - HTML 帮助器
- ASP.NET MVC - 发布网站
- Web Forms 教程
- ASP.NET Web Forms - 教程
- ASP.NET Web Forms - HTML 页面
- ASP.NET Web Forms - 服务器控件
- ASP.NET Web Forms - 事件
- ASP.NET Web Forms - HTML 表单
- ASP.NET Web Forms - 维持 ViewState
- ASP.NET Web Forms - TextBox 控件
- ASP.NET Web Forms - Button 控件
- ASP.NET Web Forms - 数据绑定
- ASP.NET Web Forms - ArrayList 对象
- ASP.NET Web Forms - Hashtable 对象
- ASP.NET Web Forms - SortedList 对象
- ASP.NET Web Forms - XML 文件
- ASP.NET Web Forms - Repeater 控件
- ASP.NET Web Forms - DataList 控件
- ASP.NET Web Forms - 数据库连接
- ASP.NET Web Forms - 母版页
- ASP.NET Web Forms - 导航
- Web Pages 参考手册
- ASP.NET Web Pages - 类
- ASP.NET Web Pages - WebSecurity 对象
- ASP.NET Web Pages - Database 对象
- ASP.NET Web Pages - WebMail 对象
- ASP.NET Web Pages - 更多帮助器
- MVC - 参考手册
- Web Forms 参考手册
- ASP.NET Web Forms - HTML 服务器控件
- ASP.NET Web Forms - Web 服务器控件
- ASP.NET Web Forms - Validation 服务器控件
- 免责声明