【发布时间】:2022-11-17 04:20:52
【问题描述】:
我有一个大学作业,我必须将字符串作为输入并在用户按 CTRL + z 时停止程序,然后显示最长和最短的字符串。我的 Z 没问题,但我似乎无法检测到用户是否按下了 CTRL z。
我尝试使用 (ki.Modifiers & ConsoleModifiers.Control) 但它没有用。 这是代码
Console.Write("Enter a string: ");
String input = Console.ReadLine();
String l = input;
String s = input;
ConsoleKeyInfo ki = new ConsoleKeyInfo();
while (ki.Key != ConsoleKey.Z )
{
Console.Write("Enter another string: ");
input = Console.ReadLine();
if (input.Length > l.Length) l = input;
else if (input.Length < s.Length) s = input;
Console.WriteLine("Press enter to continue or <CTRL> + Z to exit");
ki = Console.ReadKey(true);
}
Console.WriteLine("Longest string: " + l);
Console.WriteLine("Shortest string: " + s);
Console.ReadLine();
【问题讨论】:
-
Idk C# 但在 Java 中有许多事件侦听器,如 onKeyPressed,而在 C++ 中,有事件侦听器,如 pressing() 和 pressed()。
-
您的实现不是 Ctrl+Z 的 Linuxy 行为
标签: c# modifier console.readkey