选择、分支语句
If和switch被称之为选择语句,是因为它们能够根据实际情形决定逻辑路径代码。下面介绍这两个语句。
①if语句
这个语句中包含一个求布尔值的表达式。如果布尔表达式的值为真,即执行if子句中的语句;如果布尔值为假,则不执行if子句中的语句。
if语句后面可以紧跟一个else语句,如果if子句中的布尔表达式的值为假,则执行else语句。else语句还可以与if语句组合使用。那时,它的执行方式与普通的if语句相似。但是,只有当第一个if子句的布尔表达式值为假,且这个else if子句值为真时,才执行这段代码。
一般来讲,为了保证代码的各种情形得到处理,且不会出现程序逻辑漏洞,最好使用else语句。
注:当应用if语句检查等同性时,必须使用两个连续的等号。两个等号检查等同性,而一个等号仅表示赋值。
下面是if语句的一个应用实例:
int i=3;
if (i ==1)
{
Response.Write(“变量值等于1“);
}
elseif (i==2){
Response.Write(“变量值等于2“);
}else
{
Response.Write(“反正不等于1和2“);
}
②switch语句
这个语句求一个表达式的值,并将这个值与许多case进行比较。每个case与一个叫做switch块的语句列表关联。C#执行一个与switch块关联的语句块,这个switch块与表达式的值进行匹配。当你试图求某个特殊表达式的值时,switch是一种易于理解的编程方法,其中包含许多if/else语句对。
用做switch语句驱动器的表达式包含在括号内,后面是switch关键字。一般来说,switch语句表达式的值必须为下列类型中的一种:sbyte、byte、short、ushort、int、uint、long、ulong、char、string。你也可能使用一个能够隐性转换成上述值类型的表达式。
switch块以关键字case开始,后面是一个常量表达式。常量表达式后面是一个冒号,冒号后是语句列表。break则结束语句块。
C#首先求switch语句中的表达式的值。然后它寻找一个switch块,将这个块的表达式与前面表达式的值进行匹配。如果它能够在这些switch块中找到一个匹配的值,即执行switch块的语句列表。
如果没有case与switch块的常量值相匹配,switch块中的默认关键字就执行一段特殊的代码。
通常,为了保证代码的各种情形得到处理,且不会出现程序逻辑漏洞,最好使用默认关键字。
下面是switch语句的一个应用实例:
int i=3;
switch (i)
{
case 1:
Response.Write(“变量值等于1“);
break;
case 2:
Response.Write(“变量值等于2“);
break;
default:
Response.Write(“反正不等于1和2“);
break;
}