C# 当按下某个键时,如何使控制台应用程序调用函数?

C# 当按下某个键时,如何使控制台应用程序调用函数?,c#,console-application,C#,Console Application,我有以下资料: class Program { static void Main(string[] args) { } } 有没有一个简单的方法,我可以让这个等待一个键被按下,然后调用一个函数。例如:如果按下“a”,则调用函数funcA(),如果按下“b”,则调用函数funcB(),如果按下“e”,则退出?您使用此代码控制台.ReadKey()MSDN:-获取用户按下的下一个字符或功能键。按下的键显示在控制台窗口中 您可以这样做--只需要将这里的键值替换为您需要的键 想要…那

我有以下资料:

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

    }
}

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

您使用此代码
控制台.ReadKey()

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

您可以这样做--只需要将这里的键值替换为您需要的键 想要…那对你来说就行了

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);
    }

嗯,很抱歉,我只是想先说点什么。如果有人能给我一个线索,那么我很乐意尝试一些东西。我很乐意帮助你,杰玛,这很正常。谢谢你,坎迪。我将把你的回答记为已被接受。我也喜欢另一个答案,但在检查了你所说的之后,我发现了与引用文本中相同的例子。
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);
    }