csharp的goto语句与do-while语句

2022-10-07 14:15:45

csharp的goto语句与do-while语句

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

格式

goto<LableNmae>

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

举例

staticvoidMain(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();}
staticvoidMain(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代码块继续执行下一轮循环。

  • 作者:shuppcoding
  • 原文链接:https://blog.csdn.net/weixin_46256535/article/details/116030558
    更新时间:2022-10-07 14:15:45