C#2010 跳转与中断

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#2010 跳转与中断

在流程控制中,如果需要临时中断语句的执行,或跳转到其他语句的位置继续执行,则可以使用C#提供的跳转与中断语句,包括goto、break、return和continue 等。跳转和中断语句可以更加灵活地控制程序的流程,但过多使用这类语句会给人工代码判读造成困难。

1.goto语句

goto语句的作用是停止执行当前正在执行的语句,然后跳转到一个已标记的语句位置,从标记语句的位置重新开始执行代码,其使用方法如下所示。

Label:

goto Label;

在上面的代码中,Label关键字的作用是在某段语句中创建一个goto导向的标记。在创建这一段标记后,即可使用goto语句跳转到这一标记的位置。goto语句有以下几个限制,首先,使用goto语句不能跳出类的范围,也不能跳入到for…、while…等迭代语句中,还不能推出try…catch语句块后的finally块。

2.break语句

break语句可以强行中断当前的迭代流程或条件判断流程,从而进入迭代流程语句或条件分支语句。在之前介绍的switch…case语句中,就需要break语句中断每个分支的执行,跳转回上一级的条件判断步骤。break语句的使用方法如下。

break;

break语句是单级跳转的。也就是说如果出现多级嵌套的语句,则break语句只能跳转到上一个语句流程,不能直接跳转到顶级流程。

string strData;

do

{

strData = Console.ReadLine();

if (strData == "q")

{

break;

} Console.WriteLine("你输入的是" + strData + "\r\n输入q后退出");

} while (true);

执行上面的代码后,程序会自动返回用户输入的字符,直到输入字符q之后才

能退出程序。

3.continue语句

continue语句与break语句类似,都可以实现语句块级别的跳出,但其又与break 语句有一定的区别,continue语句只能出现在迭代流程的语句块中,且不能中断迭代的语句,仅仅是终止当前这次的迭代,进入下一次迭代。

例如,在下面的代码中,通过循环语句输出1到10之间所有的数字,使用continue语句可以中断其中某个循环,从而跳过该数字,代码如下。

string result = "";

for (byte i = 1; i <= 10; i++)

{

if (i == 5)

{

continue;

}

result += i.ToString() + ",";

}

Console.WriteLine(result);//输出:1,2,3,4,6,7,8,9,10,

相关文档
最新文档