0

我有以下内容:

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

    }
}

有没有一种简单的方法可以让它等待一个键被按下然后调用一个函数。例如:function funcA()如果按下“a”,则调用,funcB()如果按下“b”,或者如果按下“e”则退出?

4

3 回答 3

5
var c = Console.ReadKey();

switch (c.KeyChar)
{
   case 'a':
      funcA();
      break;
   case 'b':
      funcB();
      break;
}
于 2012-08-23T11:56:06.487 回答
2

你使用这个代码Console.ReadKey();

于 2012-08-23T11:54:53.643 回答
2

MSDN : Console.ReadKey 方法- 获取用户按下的下一个字符或功能键。按下的键显示在控制台窗口中。

你可以这样做——只需要用你想要的键替换这里的键值......这对你有用

public static void Main() 
   {
      ConsoleKeyInfo cki;
      // Prevent example from ending if CTL+C is pressed.
      Console.TreatControlCAsInput = true;

      Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
      Console.WriteLine("Press the Escape (Esc) key to quit: \n");
      do 
      {
         cki = Console.ReadKey();
         Console.Write(" --- You pressed ");
         if((cki.Modifiers & ConsoleModifiers.Alt) != 0) Console.Write("ALT+");
         if((cki.Modifiers & ConsoleModifiers.Shift) != 0) Console.Write("SHIFT+");
         if((cki.Modifiers & ConsoleModifiers.Control) != 0) Console.Write("CTL+");
         Console.WriteLine(cki.Key.ToString());
       } while (cki.Key != ConsoleKey.Escape);
    }
于 2012-08-23T11:56:25.740 回答