C#goto使用 - 这里还有什么用?

Pie*_*tro 6 c# syntax goto

我知道使用goto是大多数人都想要避免的东西,但是我已经阅读过各种各样的地方,如果你需要简单的代码,有时它会很有用.目前我有一个非常简单的程序,如果用户选择这样,需要重复:

static void Main()
{
    Restart:
    ...

    string UserChoice=Console.ReadLine();
    if (UserChoice=="y")
    goto Restart;
}
Run Code Online (Sandbox Code Playgroud)

在这里使用goto真的很糟糕吗?我只是看不到任何其他方式如何重复代码而不做循环等.这似乎是非常简单和干净的方式.或者我错过了什么?

exp*_*rer 20

string userchoice;

do {                

    userchoice=Console.ReadLine();

} while (userchoice=="y");
Run Code Online (Sandbox Code Playgroud)


Num*_*nor 5

而是写下面的东西.

while(Console.ReadLine() == "y")
{
.....
}
Run Code Online (Sandbox Code Playgroud)

是的,使用goto是不好的,因为它会降低你的代码的可读性.

  • 如果是这样的情况{...} while(Console.ReadLine()=="y")将起作用. (8认同)

Øyv*_*hen 5

当然,如果你的代码一次又一次地做同样的事情,你必须添加一个循环.这比goto好多了.

使用这样的东西

string UserChoice = "y";
while( UserChoice == "y"){
  ...
  UserChoice=Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

这应该对你有用.