扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月8日
关键字: C#
选择语句
If和switch被称之为选择语句,是因为它们能够根据实际情形决定逻辑路径代码。下面介绍这两个语句。
if语句
这个语句中包含一个求布尔值的表达式。如果布尔表达式的值为真,即执行if子句中的语句;如果布尔值为假,则不执行if子句中的语句。
if语句后面可以紧跟一个else语句,如果if子句中的布尔表达式的值为假,则执行else语句。else语句还可以与if语句组合使用。那时,它的执行方式与普通的if语句相似。但是,只有当第一个if子句的布尔表达式值为假,且这个else if子句值为真时,才执行这段代码。
一般来讲,为了保证代码的各种情形得到处理,且不会出现程序逻辑漏洞,最好使用else语句。
注:当应用if语句检查等同性时,必须使用两个连续的等号。两个等号检查等同性,而一个等号仅表示赋值。
下面是if语句的一个应用实例:
int i=3;
if (i == 1)
{MessageBox.Show("i=1"); }
elseif (i==2)
{MessageBox.Show("i=2"); }
else
{ MessageBox.Show("i=?"); }
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:
MessageBox.Show("i=1");
break;
case 2:
MessageBox.Show("i=2");
break;
default:
MessageBox.Show("i=?");
break;
}
循环语句
因为while、do、for和foreach能够重复多次执行嵌套语句,所以把它们归为循环语句。以下是这四个语句的介绍。
while语句
当一个表达式的值为真时,这个语句执行一个语句列表。控制while语句的布尔表达式包含在括号内,前面是while关键字。括号后面是当布尔表达式值为真时应执行的语句。
下面是while语句的一个应用实例:
int i=3;
while (i < 5 )
{
MessageBox.Show(i.ToString());
i++;
}
do语句
这个语句执行其嵌套语句零次或多次。如果while语句中的布尔表达式值为假,则不执行任何嵌套语句。但是,为了保证嵌套语句至少执行一次,可以使用一个do语句。
do语句后面是一个嵌套语句,后面紧跟着一个while关键字。控制循环执行次数的布尔表达式位于while关键字的后面。由于布尔表达式在嵌套语句执行后再求值,因此嵌套语句至少被执行一次。
以下为do语句的一个应用实例:
int i=3;
do
{
MessageBox.Show(i.ToString());
i++;
}
while (i < 3);
for语句
这个语句以for关键字开始,接着是括号。括号内是一个初始化器,一个条件下和一个迭代语句,它们全都以分号隔开。嵌套语句在括号后面。
以下是for语句的一个应用实例:
for (int i=0; i<4; i++)
{
MessageBox.Show(i.ToString());
}
}
foreach语句
这个语句用来循环一个集合中的元素。由于C#中的数组支持foreach语句,因此你可以应用foreach语句处理数组中的每一个元素。
使用foreach语句时,首先输入foreach关键字,然后是括号。括号内必须包含以下信息:集合中元素的类型、集合中元素的标识符名称、关键字in和集合的标识符。嵌套语句在括号之后。
下面是foreach语句的一个应用实例:
int[] intArray;
intArray = newint[3];
intArray[0] = 0;
intArray[1] = 1;
intArray[2] = 2;
foreach (int ArrayElement in intArray)
MessageBox.Show(ArrayElement.ToString());
跳跃语句
由于break、continue和goto语句有助于跳跃到代码中的某个特定语句,因此它们属于跳跃语句。下面是这三个语句的介绍。
break语句
这个语句常与switch语句联合使用;但是,C#允许你使用它跳出当前语句块。我们经常用break语句跳出一个循环语句块。
下面是break语句的一个应用实例:
int i = 0;
while (i < 4)
{
MessageBox.Show(i.ToString());
if (i == 2)
break;
i++;
}
continue语句
这个语句将控制返回到控制循环语句的布尔表达式。
下面是continue语句的一个应用实例:
for (inti = 1; i <= 4; i++)
{
if (i < 2)
{
continue;
}
MessageBox.Show (i);
}
goto语句
这个语句把控制无条件交给一个标记语句。在C#中,任何语句都可以被标记。语句标记后紧跟一个冒号,一个标记标识符,然后是goto关键字。goto语句把控制交给由标记标识符命名的语句。
如果过度使用goto语句,编写出来的代码可能难以阅读与理解。通常,最好对代码进行改写,避免使用goto语句。
下面是goto语句的一个应用实例:
int i = 0;
while (i < 3)
{
MessageBox.Show(i.ToString());
if (i == 2)
goto Complete;
i++;
}
Complete: MessageBox.Show("complete");
补充信息
本文介绍了C#中代码/流程语句的基本信息。欲了解应用每个语句的详细信息,请访问微软网站获知选择、循环和跳跃语句的详细内容。
Irina Medvinskaya自1996年开始涉足技术领域。她获得佩斯大学的MBA学位,现在任花旗集团的项目经理。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者