替代在C#中使用goto语句

时间:2014-10-23 21:05:39

标签: c#

我是C#语言的新手。我刚刚开始学习几周前,我正在尝试使用Visual Studio控制台创建一个简单的应用程序。我希望在主菜单上有所有选项,您可以转到任何其他菜单。但我也希望能够从应用程序的任何位置返回主菜单。

我可以看到这样做的唯一方法是使用goto语句。我知道很多程序员认为goto语句是邪恶的!在像C#这样的现代语言中,还有另一种方法吗?

2 个答案:

答案 0 :(得分:2)

代替Goto,通常被称为邪恶(lol),你可以创建一个名为

的函数

ShowMainMenu

然后在您想要显示主菜单时调用该功能。 Gotos不是含蓄的邪恶,只是不好的做法。如果你是一名专家,并决定快速破解最好使用Goto - 你不会失去工作:)。但是对于初学者,你应该完全重构代码以避免它们。

答案 1 :(得分:1)

我不完全确定您使用的是什么技术或代码。从理论上讲,你的例子是:

public static class Menu
{
     public static LaunchPage(string page)
     {
          switch(value) {
              case "About":
                   // Show new form, page, something.
                   break;

              default:
                  // Go home by default.
                  break;
          }
     }
}

理论很简单,在您的代码中调用:Menu.LaunchPage("About");,它将触发您的switch,它将执行代码转到该页面或表单。反之亦然,因此您可以阅读特定的导航事件。

一个简单的例子,边缘也有点粗糙,但希望它能让你开始。没有更多信息,我们无法提供帮助。

<强>更新 为了进一步澄清,您甚至可能不需要上述内容。理论上你可以有一个按钮,点击它时只需转到所需的页面:

protected void btnAbout(object sender, EventArgs e)
{
     // Go to About
}

另一种方式,如果没有更多信息,问题仍然过于宽泛。