1、goto语句
C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上。该语句有其优缺点。主要优点是:这是控制什么时候执行哪些代码的一种非常简单的方式。主要缺点是:过多使用这个技巧将很难读懂代码。
例如:
int myInteger=5;
goto myLabel;
myInteger+=10;………………此行未执行
myLabel;
Console.WriteLine("myInteger={0}",myInteger);
在编译代码时,Error List窗口会显示一个警告,即Unreachable code detected和一个行号。在无法执行的代码中,myInteger下面还有绿色波浪线。
建议:尽量不要使用goto语句
2、三元运算符:比较适合简单的赋值语句,但不适合于根据比较结果执行大量代码的情况。此时应使用if语句。
3、if语句:if语句的功能比较多,是进行决策的有效方式。于?:语句不同的是,if语句没有结果(所有不在赋值语句中使用它),使用该语句是为了有条件地执行其他语句,另外if语句容易阅读和理解,其灵活性好。
例如:
语句段1
if(var1<var2)
comparison="less than";
else
{
if(var1==var2)
comparison="equal to";
else
comparison="greater than";
}
语句段2
if(var1<var2)
comparison="less than";
if(var1==var2)
comparison="equal to";
if(var1>var2)
comparison="greater than";
语句段2的缺点是无论var1和var2的值是什么,都要执行3个比较操作。而语句段1中,如果var1<var2是true,就只执行一个比较,否则就要执行两个比较操作(还执行了var1==var2),这样将使执行的代码行较少。两段代码性能上的差异比较小,但在较重视速度的应用程序中,性能的差异就很明显了。
4、switch语句:switch语句非常类似于if语句,因为它也是根据测试的值来有条件地执行代码。但是,switch语句可以一次将测试变量与多个值进行比较,而不是仅测试一个条件。这种测试仅限于离散的值,而不是像“大于X”这样的字句。
注意:switch语句不能贯通(除非刻意添加代码)
5、do循环(先执行循环代码,再进行布尔测试,循环至少执行一次)
6、while循环(先进行布尔测试,再执行循环代码)
7、for循环(略)
8、循环的中断:
break……立即终止循环。
continue……立即终止当前的循环(继续执行下一次循环)。
goto……可以跳出循环,到已标记号的位置上(如果希望代码易于阅读和理解,最好不要使用该命令)。
return……跳出循环及其包含的函数。