从应用程序外部来看,这两者有什么区别:
...
Environment.Exit(2)
并且
static int Main()
{
...
return 2;
}
?
Environment.Exit
无论如何都会关闭进程。Environment.Exit
终止进程时不会解开堆栈并执行 finally 块(至少在我的实验中是这样)。显然,当你从 Main
返回时,就已经处于托管代码所关心的最高级别了。Environment.Exit
需要适当的安全权限,因此对于不受信任的应用程序可能无法运行。看到问题更新后,我不是很确定你的意思。在两种情况下,进程都将以代码 2 退出...
Environment.Exit(2)
可以在任何地方使用。而 return 2
只能在 Main()
函数中使用。
如果您正在进行单元测试且调用Main函数
Program.Main(args);
使用Environment.exit将始终反映失败,而使用return将按预期工作。