VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#学习笔记—控制流语句

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

switch (<testVr>)
{
case <值1>:
......
break;
case <值2>:
......
break;
case <值3>:
......
break;
default:
.....
break;
}
  书上说只能执行一个CASE下的语句,不能再执行第二个。是不是这样的顺序:先检查第一个条件,为TRUE就运行第一块语句,为FALSE就检查第二个条件,为FALSE就检查下一个,只要其中有一个条件为TRUE就运行其中的语句,运行完成后就退出switch。如果不加BREAK会怎么样呢?结果是如果不写break不能通过编译。再将default:提前到第一位,结果跟放在后面是一样的,也就是的确是所有值都不对的时候才会执行。

  这里的break可以用return代替,书上说这样好于用break,原因在第六章...?如果不用中断而用go to case..:这样的跳转,编译时也不会报错,但是逻辑上可能是错误的,因为它是跳过了值的判断而直接运行里面的语句,这样的应用在switch语句中有些什么样的应该实例呢?

  第一次写这个switch语句,出现了以下几个错误:1、switch后的测试值没有用单括号括起来;2、case后面跟的不是条件,而是值,例如不能写成case i=1:,应该直接写成case 1:就可以了。

  循环词句

do
{
...
}
  
while (条件满足);

  写的一个代码:

static void Main()
{
int i=1;
do
{
Console.WriteLine("this is i:{0}",i++);
switch (i)
{case 1:
 Console.WriteLine("i=1");
 break;
 case 2:
 Console.WriteLine("i=2");
 break;
 case 3:
 Console.WriteLine("i=3");
 break;
 default:
 Console.WriteLine("i>3");
 break;
}
}
while (i<=10);
}
  这里如果在switch 语句中使用return为中断语句,则回在i=1时直接从switch语句中退出到循环外面,而用break中断就不会。

  提醒:这种将条件测试放在后在面的循环,如果条件一开始也不成立时也会执行一次。还有一种中断语句是continue,它是中断当前循环,break是从当前循环跳出不再做循环,return有点像跳出本代码并返回有可能的值,中断程序了!经过测试,在switch语句中也可以使用continue作为中断语句。



相关教程