重新启动控制台应用程序
本文关键字:应用程序 控制台 重新启动 | 更新日期: 2023-09-27 18:06:57
我创建了一个小型应用程序,用于进行小型转换。在程序的最后,我创建了一个方法,允许用户在按下'r'时进行另一次计算。我想让它做的就是,如果它们按r,把它们带回到Main的开始,否则终止程序。我不想用goto。这是我目前得到的,以及我得到的错误。
http://puu.sh/juBWP/c7c3f7be61.png我建议您使用另一个函数来代替Main()。请参考以下代码:
static void Main(string[] args)
{
doSomething();
}
public static void WouldYouLikeToRestart()
{
Console.WriteLine("Press r to restart");
ConsoleKeyInfo input = Console.ReadKey();
Console.WriteLine();
if (input.KeyChar == 'r')
{
doSomething();
}
}
public static void doSomething()
{
Console.WriteLine("Do Something");
WouldYouLikeToRestart();
}
while循环将是一个很好的选择,但是既然您说程序应该运行,然后给用户提供再次运行的选项,那么一个更好的循环将是Do while。while和Do while的区别在于Do while总是至少运行一次。
string inputStr;
do
{
RunProgram();
Console.WriteLine("Run again?");
inputStr = Console.ReadLine();
} while (inputStr == "y");
TerminateProgram();
在您的情况下,您想要重复某些内容,因此当然应该使用while循环。使用while循环像这样包装所有代码:
while (true) {
//all your code in the main method.
}
然后提示用户在循环末尾输入'r':
if (Console.ReadLine () != "r") {//this is just an example, you can use whatever method to get the input
break;
}
如果用户输入r,则循环继续工作。break
表示停止执行循环中的内容