【发布时间】:2016-05-25 10:46:21
【问题描述】:
我已经阅读了一些 here 和 here,但我仍然对是否应该在我的控制台应用程序中使用 Enviorment.Exit() 感到困惑。
在一个方法中,如果用户在提示符下退出,我有以下代码,
if(userSelect == "exit")
{
Environment.Exit(0);
}
更新:
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Welcome to my Console App");
Console.WriteLine();
consoleManager();
}
public static void consoleManager()
{
string consolePrompt = "ConsoleApp\">";
string whichMethod = "";
Console.Write(consolePrompt);
whichMethod = Console.ReadLine();
if(whichMethod == "view enties")
{
viewEntry();
}
else
if(whichMethod == "Add Entry")
{
addEntry();
}
else
if(whichMethod == "exit")
{
//what to do here
}
else
{
help();
}
}
【问题讨论】:
-
我认为您第二个链接中接受的答案说明了一切
-
请注意,在
main方法之外的任何地方退出应用程序是不常见的。如果你在main方法中,一个简单的return 0;语句就足够了,而且更可取。 -
@CodyGray - 我更新了我的代码,你能告诉我如何从我的方法中正确退出我的应用程序吗?
-
你现在已经删除了代码,我不知道为什么。有两种可能性:(1) 将该代码移动到
main方法中(没有理由将它放在自己的函数中),(2) 更改该函数以返回一个值——要么 false 关闭,要么一个 int对应于 main 的返回值。在您的 main 方法中检查该函数的结果并相应地返回。 -
并不是
Environment.Exit不行(虽然在多线程的应用中效果不好,但是你不是写的),只是一个设计好的应用程序通常不需要使用它。只有一种情况下它的使用是有意义的,那就是在用户可以选择退出的某种菜单中,并且可以明智地写成从 main 中返回。