0
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;

namespace LearningKeys
 {
class Program
{
    static void Main(string[] args)
    {       

       while (true)
            {     

            ConsoleKeyInfo Menu;
            Menu = Console.ReadKey(true);



            Console.WriteLine("1. Pick Item");
            Console.WriteLine("2. Display all Items");
            Console.WriteLine("3. Pick Special Item");
            Console.WriteLine("4. Quit");




            if (Menu.Key == ConsoleKey.Backspace)
            {
                Console.WriteLine("1. Pick Item");
                Console.WriteLine("2. Display all Items");
                Console.WriteLine("3. Pick Special Item");
                Console.WriteLine("4. Quit");


            }

            ConsoleKeyInfo DisplayAllItems;
            DisplayAllItems = Console.ReadKey(true);

           if (DisplayAllItems.Key == ConsoleKey.D1)
            {
                Console.WriteLine("1. Mushrooms \n2. Sword \n3.Boots"); 



            }


            Console.Read();

            break;

            }
     }
   }
}

您好,我想知道为什么当我将 ConsoleKeyInfo 变量放在上面时,为什么我的前 4 个 Console.WriteLine 会消失。或者为什么当我分配了多个控制台键时程序无法运行?我确定这是因为 Console.ReadKey(); 但我不确定还能使用什么。我只是在学习 ConsoleKeys。

4

1 回答 1

3

Console.ReadKey 阻塞意味着程序将挂起,直到您按下一个键。您没有看到写入行,因为程序正在等待密钥

它与您拥有多少 ConsoleKeyInfo 变量无关。

于 2012-11-08T03:42:52.277 回答