首页 > 编程笔记

C# goto语句的用法(附带示例)

C# 中的 goto 语句是无条件跳转语句,使用 goto 语句可以无条件地使程序跳转到方法内部的任何一条语句。

goto 后面带有一个标识符,这个标识符是同一个方法内某条语句的标号。标号可以出现在任何可执行语句的前面,并且以冒号:作为后缀。

C# goto 语句的一般语法格式如下:

goto 标识符;

goto 后面的标识符是要跳转的目标,这个标识符要在程序的其他位置给出,但是其标识符必须在方法内部。

例如下面的代码:
goto Lable;
    Console.WriteLine("the message before Label");
Lable:
    Console.WriteLine("the Label message");
在上面的代码中,goto 后面的 Lable 是跳转的标识符,Lable 后面的代码表示 goto 语句要跳转到的位置。在上面的代码中,第一个输出语句将不会被执行,而是直接去执行 Lable 标识符后面的语句。

注意

跳转的方向可以向前,也可以向后;可以跳出一个循环,也可以跳入一个循环。

【示例】使用 goto 语句计算 1 到 100 的累加和,代码如下:
static void Main(string[] args)
{
     int iNum = 0;       //定义一个整数类型变量,并初始化为0
     int iSum = 0;       //定义一个整数类型变量,并初始化为0
label:                   //定义一个标签
     iNum++;             //iNum自增1
     iSum += iNum;       //累加求和
     if (iNum< 100)      //判断iNum是否小于100
     {
        goto label;      //转向标签
     }
     Console.WriteLine("1到100的累加结果是" + iSum); //输出结果
     Console.ReadLine();
}
运行结果:
1到100的累加结果是5050

注意

C# goto 语句可以忽略当前程序的逻辑,直接使程序跳转到某一语句执行,有时非常方便。

但是也正是由于 goto 语句的这种特性,在程序设计中一般不主张使用 goto 语句,以免造成程序流程的混乱,使理解和调试程序产生困难。

推荐阅读