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