アプリケーションの外部から、間に違いはありますか
...
Environment.Exit(2)
と
static int Main()
{
...
return 2;
}
?
最も明白な違いは、コードのどこからでも Environment.Exit を呼び出せることです。それはさておき:
Environment.Exit
とにかくプロセスを停止します。Environment.Exit
スタックを巻き戻し、finally ブロックを実行せずにプロセスを終了します(少なくとも私の実験によると)。Main
マネージ コードに関する限り、明らかに、あなたが戻ってきたときには既にトップ レベルにいます。Environment.Exit
適切なセキュリティ許可を要求するため、信頼性の低いアプリでは機能しません。質問の更新を見たので、あなたが何を意味するのか完全にはわかりません。どちらの場合も、プロセスはコード 2 で終了します...
Environment.Exit(2)
どこでも使用できます。関数return 2
内でのみ。Main()
単体テストを実行して Main を呼び出す場合
Program.Main(args);
その場合、Environment.exit は常に失敗を反映します。return を使用すると期待どおりに動作します。