按下Enter键后控制台关闭

问题描述 投票:-4回答:1
          Console.WriteLine("Guess the number");
        Console.Read();

        int Guess = (Console.Read());

        Random random = new Random();
        int rnd = random.Next(0, 10);

        if (Guess == rnd)
        {
            Console.WriteLine("Correct");
            Console.ReadLine();

        }
        else
        {
            Console.WriteLine("incorrect");
            Console.ReadLine();

我尝试制作需要猜数字的游戏,但是如果我按Enter键,控制台将关闭

c#
1个回答
0
投票

这里有一些问题:

  • [首先,我想我们希望用户输入一个数字然后按Enter,但是您要扔掉第一次按键(不将Console.Read的值分配给任何东西),然后捕获Enter按下Guess
  • 第二,用户输入的字符在执行以下操作时会自动转换为intint Guess = Console.Read();,但是该值是条目的[[ascii值],而不是条目的值。他们按的数字。并且,由于我们正在捕获Enter键(它是\r\n的组合),因此该值为13(第一个字符的值)。
  • [第三,如果您注意到,缓冲区中仍然有\n字符,因此在我们输出结果并执行Console.ReadLine()之后,它将读取\n并立即返回
© www.soinside.com 2019 - 2024. All rights reserved.