如何解决如果用户在C#程序中打印“ x”,如何使控制台应用程序退出?
我已经用C#编写了一个计算器程序。
如果用户在C#控制台应用程序中输入字符“ x”,我希望程序退出(结束)。
我尝试使用return;
,但是我无法使用它。
也尝试致电Environment.Exit()
,但也没有成功。
Console.Write("Skriv in en siffra: ");
double firstUserInput;
while (!Double.TryParse(Console.ReadLine(),out firstUserInput))
{
Console.WriteLine();
Console.Write("Ogiltigt värde,skriv in en siffra: ");
}
while (true)
{
Console.WriteLine();
Console.Write("Välj räknesätt mellan + - * / : ");
string operators = Console.ReadLine();
Console.WriteLine();
Console.Write("Skriv in en till siffra: ");
double secondUserInput;
while (!Double.TryParse(Console.ReadLine(),out secondUserInput))
{
Console.WriteLine();
Console.Write("Ogiltigt värde,skriv in en siffra: ");
}
Console.WriteLine();
Console.WriteLine();
switch (operators)
{
case "+":
Console.WriteLine();
Console.WriteLine("Svar: " + firstUserInput + " + " + secondUserInput + " = " + (firstUserInput + secondUserInput));
firstUserInput = (firstUserInput + secondUserInput);
Console.ReadLine();
Console.WriteLine();
break;
case "-":
Console.WriteLine();
Console.WriteLine("Svar: " + firstUserInput + " - " + secondUserInput + " = " + (firstUserInput - secondUserInput));
firstUserInput = (firstUserInput - secondUserInput);
Console.ReadLine();
Console.WriteLine();
break;
case "*":
Console.WriteLine();
Console.WriteLine("Svar: " + firstUserInput + " * " + secondUserInput + " = " + (firstUserInput * secondUserInput));
firstUserInput = (firstUserInput * secondUserInput);
Console.ReadLine();
Console.WriteLine();
break;
case "/":
if (secondUserInput == 0)
{
Console.WriteLine();
Console.WriteLine("Går inte att dividera med 0,försök igen!");
Console.ReadLine();
Console.WriteLine();
}
else
{
Console.WriteLine();
Console.WriteLine("Svar: " + firstUserInput + " / " + secondUserInput + " = " + (firstUserInput / secondUserInput));
firstUserInput = (firstUserInput / secondUserInput);
Console.ReadLine();
Console.WriteLine();
}
break;
}
}
}
解决方法
尚不清楚您的Main
方法是如何实现的,但是您应该可以随时调用Environment.Exit
退出该应用程序,例如:
const string Exit = "x";
string line = Console.ReadLine();
while (!Double.TryParse(line,out firstUserInput))
{
if (string.Compare(line,Exit,true) == 0)
System.Environment.Exit(0);
Console.WriteLine();
Console.Write("Ogiltigt värde,skriv in en siffra: ");
}
while (true)
{
Console.WriteLine();
Console.Write("Välj räknesätt mellan + - * / : ");
string operators = Console.ReadLine();
if (string.Compare(operators,true) == 0)
System.Environment.Exit(0);
Console.Write("Skriv in en till siffra: ");
double secondUserInput;
line = Console.ReadLine();
while (!Double.TryParse(line,out secondUserInput))
{
if (string.Compare(line,true) == 0)
System.Environment.Exit(0);
Console.WriteLine();
Console.Write("Ogiltigt värde,skriv in en siffra: ");
}
Console.WriteLine();
Console.WriteLine();
...
,
我看不到任何处理方式,包括'x'。
您可以实现如下所示:
string str = Console.ReadLine();
if(str.Equals("x")) // Note that this is case sensitive
{
Enviroment.Exit(0);
}
然后您可以说添加您的TryParse代码块。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。