如果用户在我的 C# 程序中打印 'x',我如何让控制台应用程序退出?
How can i make the console app Exit if the user prints 'x' in my C# program?
我用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, Exit, 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, Exit, 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 代码块。
我用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, Exit, 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, Exit, 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 代码块。