按键后如何重新运行main方法

时间:2014-01-20 12:20:26

标签: c# methods console-application

当我按空格键再次调用我的主方法时,如何实现呢?

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            int r = rnd.Next(0, 9);
            int q = rnd.Next(0, 9);
            int w = rnd.Next(0, 9);

            Console.WriteLine(r);
            Console.WriteLine(q);
            Console.WriteLine(w);
            Console.ReadKey();
        }
    }
}

3 个答案:

答案 0 :(得分:4)

使用无限循环或循环检查是否继续:

namespace ConsoleApplication1
{
    class Program
    {
        static bool again = true;

        static void Main(string[] args)
        {
            while (again)
            {
                Random rnd = new Random();
                int r = rnd.Next(0, 9);
                int q = rnd.Next(0, 9);
                int w = rnd.Next(0, 9);

                Console.WriteLine(r);
                Console.WriteLine(q);
                Console.WriteLine(w);
                ConsoleKeyInfo cki = Console.ReadKey();
                if (cki.Key == ConsoleKey.Q)
                    again = false;
            }
        }
    }
}

在此示例中,循环继续,直到按下Q键。

答案 1 :(得分:0)

你需要做

while (true) {
    Random rnd = new Random();
    int r = rnd.Next(0, 9);
    int q = rnd.Next(0, 9);
    int w = rnd.Next(0, 9);

    Console.WriteLine(r);
    Console.WriteLine(q);
    Console.WriteLine(w);
    Console.ReadKey();
}

答案 2 :(得分:0)

您可以使用循环来检查每次按键。如果按下空格键,循环将继续。如果没有,它会破裂。

    static void Main(string[] args)
    {
        while (true)
        {
            Random rnd = new Random();
            int r = rnd.Next(0, 9);
            int q = rnd.Next(0, 9);
            int w = rnd.Next(0, 9);

            Console.WriteLine(r);
            Console.WriteLine(q);
            Console.WriteLine(w);
            ConsoleKeyInfo keyPressed = Console.ReadKey();
            if (keyPressed.Key != ConsoleKey.Spacebar)
            {
                break;
            }
        }
    }

当然,您可以将密钥更改为您想要的任何密钥。