多个ConsoleKey变量

时间:2012-11-08 03:31:21

标签: c# console-application

  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就消失了。或者,当我分配了多个Consolekey时,为什么程序不起作用?我确定这是因为Console.ReadKey();但我不确定还能用什么。我刚刚学习了ConsoleKeys。

1 个答案:

答案 0 :(得分:3)

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

它与您拥有的ConsoleKeyInfo变量数无关。