判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
下面是大多数编程语言中典型的判断结构的一般形式:
C# 提供了以下类型的判断语句。点击链接查看每个语句的细节。
语句 | 描述 |
---|---|
if 语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
if...else 语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
嵌套 if 语句 | 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
switch 语句 | 一个 switch 语句允许测试一个变量等于多个值时的情况。 |
嵌套 switch 语句 | 您可以在一个 switch 语句内使用另一个 switch 语句。 |
我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。
exp1?exp2:exp3;也可以等价于:
if(exp1){
exp2;
}
else{
exp3;
}
但是if语句拥有更多的可能而不仅仅局限于表达式。?:三目运算符的三个式子只能是表达式,只能返回一个结果,不能执行一些函数操作,所以三目运算符一般用于提供判断逻辑等。比如:
判断一个是否及格(及格返回true),可以这么写:a>=60 ? true :false;
using System;
namespace DecisionMaking{
class Program{
static void Main(string[] args){
/* 局部变量定义 */
int a = 59;
string result = a<59 ? "及格" : "不及格";
Console.WriteLine("你的成绩: {0}", result);
Console.ReadLine();
}
}
}