我用C#编写控制台应用程序,程序开头有一个问题:
Console.WriteLine("Would you like to create the config folder? (y/n)");
我想设置默认" y"在此行之后,用户只需按Enter即可。 (如果他想要" n")
,或者用退格键删除它这甚至可能吗?怎么样?
答案 0 :(得分:0)
只需使用
Console.WriteLine("");
Console.Write("y")
所以Y在下一行,他们只需要输入。
答案 1 :(得分:0)
在我看来,这种行为有点奇怪。我要做的是:
Console.WriteLine("Would you like to create the config folder? (Y/N) [Y]");
ConsoleKey optionKey;
do
{
ConsoleKeyInfo key = Console.ReadKey(true);
optionKey = key.Key == ConsoleKey.Enter ? ConsoleKey.Y : key.Key;
} while (optionKey != ConsoleKey.Y && optionKey != ConsoleKey.N);
Console.WriteLine(optionKey);
if (optionKey != ConsoleKey.N)
{
// Do your stuff
}
答案 2 :(得分:0)
这里的正确行为应该显示为
Console.WriteLine("Would you like to create the config folder? (y/n) [y]");
这告诉用户y
是默认值,只需按Enter即可自动选择。我认为如果用户想要选择n
,这会更快,因为用户不必删除y
然后输入他的/选择。
考虑用户是否必须经历多个问题,并且必须为所有问题选择n
。这会有点烦人。
简单的代码编码方式(只是伪代码)是:
boolean selection = true; //false if 'n' is default
if(userinput == 'n') selection = false;
如果您仍想编写可更改的输出,请使用:
Console.WriteLine("Would you like to create the config folder? (y/n)");
SendKeys.SendWait("y");
Console.ReadLine();