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

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 に答える
2

このコードを使用しますConsole.ReadKey();

于 2012-08-23T11:54:53.643 に答える