我在工作中维护着许多控制台应用程序,我在其中一些应用程序中注意到的一件事是它们调用了Environment.Exit(0)。
示例程序如下所示:
public class Program
{
public static void Main(string[] args)
{
DoStuff();
Environment.Exit(0);
}
}
我不明白最初的程序员这样做的意图是什么?在我看来,即使没有 Environment.Exit 语句,程序也应该正常退出。也就是说,对于其中一个程序,即使它应该关闭,它的控制台窗口仍然保留,所以我真的不确定那里发生了什么......
我在这里错过了什么吗?或者在这种情况下是否有理由调用Environment.Exit?
打电话的唯一原因Exit()
因为 Main 方法的最后一行是是否可能有其他前台线程正在运行。如果执行刚刚结束,他们将继续运行Main
。即使在这种情况下,通常更好的做法是在其他线程中放入一些显式的优雅终止,或者让它们作为后台线程启动。
如果您想返回不同的退出代码Main
,实现这一点的更简单方法是将其声明为 returnint
.
简而言之,我认为你不需要Environment.Exit()
在这里,值得向你的同事询问他们为什么要使用它——很可能他们无法给你一个充分的理由,而这又是你可以省去的一些废话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)