csharp的goto语句与do-while语句

csharp的goto语句与do-while语句

和C、C++一样,C#也支持goto语句。该语句是一种用于流程无条件转移的语句。使用该语句的前提是需要在程序中加入标签。

格式

goto <LableNmae>

LabelName是标签名。程序执行到goto语句处便会忽略goto和LabelName之间的语句,而转向LabelName后面执行。

举例

static void Main(string[] args)
{
	Console.WriteLine("请选择你要吃的菜品");
	Console.WriteLine("1.牛肉面");
	Console.WriteLine("2.臊面");
	Console.WriteLine("3.牛肉小饭");
Label:
	Console.Write("请输入你的选择:");
	//读取输入的字符
	string chioce=Console.ReadLine();
	//判断输入
	switch(chioce){//switch分支语句
	
		case"1":
			Console.WriteLine("您选择的菜品是:1.牛肉面");
			break;
	
		case"2":
			Console.WriteLine("您选择的菜品是:2.臊面");
			break;
			
		case"3":
			Console.WriteLine("您选择的菜品是:3.牛肉小饭");
			break;
			
		default:
			Consloe.WriteLine("不好意思~只有这三个菜哦")
			goto Label;
			break;
	}	
	Console.PeadKey();
}
static void Main(string[] args)
{
	Console.WriteLine("请选择你要吃的菜品");
	Console.WriteLine("1.牛肉面");
	Console.WriteLine("2.臊面");
	Console.WriteLine("3.牛肉小饭");
do{
	flag=false;
	Console.Write("请输入你的选择:");
	//读取输入的字符
	string chioce=Console.ReadLine();
	//判断输入
	
	switch(chioce){//switch分支语句
	
		case"1":
			Console.WriteLine("您选择的菜品是:1.牛肉面");
			break;
	
		case"2":
			Console.WriteLine("您选择的菜品是:2.臊面");
			break;
			
		case"3":
			Console.WriteLine("您选择的菜品是:3.牛肉小饭");
			break;
			
		default:
			Consloe.WriteLine("不好意思~只有这三个菜哦")
			flag=true;
			break;
	}
	while(flag);	
	Console.PeadKey();
	}
  }
}

以上程序使用do-while语句替换了goto语句。实现了与使用goto语句相同的功能。

定义了一个布尔变量,用于测试循环是否结束。do代码块中的如下语句

flag=flase;

flag设置为“false”。这样当代码没有执行到default代码块时,程序跳出switch语句便执行while判断,此时flag为“false”则跳出do-while循环。如果程序执行到default代码块,便执行

flag=true;

该语句将flag的值改变为“true”。这样在做while判断时就会继续返回do代码块继续执行下一轮循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值