我目前正在搞乱一个控制台应用程序,我有一些逻辑来获取用户输入3种不同的东西。我设计了应用程序,以便用户可以随时键入'Q'或'q'来退出程序。然而,我目前正在完成的方式是通过if语句在每个用户输入之后(使用Console.ReadLine()。)当Console.ReadLine()执行时,C#控制台应用程序执行代码
我认为最好的解决方案是在一个地方放一段代码它退出程序并在执行ReadLine()时自动调用,并检查输入是否为'q'或'Q'。我很好奇,如果有什么办法做这样的事情?
下面是代码我现在
Console.WriteLine("Please give me a source and destination directory...(Enter 'Q' anytime to exit)");
Console.Write("Enter source path: ");
_sourcePath = Console.ReadLine();
if (_sourcePath.Equals("q", StringComparison.CurrentCultureIgnoreCase))
{
Environment.Exit(Environment.ExitCode);
}
Console.Write("Enter destination path: ");
_destinationPath = Console.ReadLine();
if (_destinationPath.Equals("q", StringComparison.CurrentCultureIgnoreCase))
{
Environment.Exit(Environment.ExitCode);
}
Console.Write("Do you want detailed information displayed during the copy process? ");
string response = Console.ReadLine();
if (response.Equals("q", StringComparison.CurrentCultureIgnoreCase))
{
Environment.Exit(Environment.ExitCode);
}
if (response?.Substring(0, 1).ToUpper() == "Y")
{
_detailedReport = true;
}
这将是很好的,如果块将其删除,只是有从到Console.ReadLine输入值()被执行时,它检查...
为什么不写自己的函数,进而调用'到Console.ReadLine()'(以及做其余的逻辑)? – maccettura