C#重新启动控制台应用程序

时间:2015-08-09 03:43:29

标签: c#

我创建了一个执行小转换的小应用程序。在程序结束时,我创建了一个方法,允许用户按“r”进行另一次计算。我想要它做的就是如果他们按下r,将它们带回Main的开头,否则终止程序。我不想使用goto。这是我到目前为止所得到的,以及我得到的错误。

http://puu.sh/juBWP/c7c3f7be61.png

3 个答案:

答案 0 :(得分:2)

while循环非常合适,但是既然你说程序应该运行然后给用户再次运行的选项,那么更好的循环就是Do While。 while和Do While之间的区别在于Do While将始终至少运行一次。

-eval "(progn (require 'package) (package-initialize))"

答案 1 :(得分:0)

我建议您使用其他功能而不是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();
    }

答案 2 :(得分:0)

在你的情况下,你想重复一些事情,当然你应该使用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表示停止执行循环中的内容。