Jawaban:
Anda bisa menggunakan Environment.Exit(0);
danApplication.Exit
Environment.Exit(0)
lebih bersih .
Environment.Exit
mengharuskan Anda memiliki izin SecurityPermissionFlag.UnmanagedCode - yang mungkin menyusahkan bagi sebagian orang.
Beberapa opsi, dengan urutan cara yang paling tepat:
System.Environment.Exit
( tidak portabel! Lihat di bawah )Diedit 9/2013 untuk meningkatkan keterbacaan
Kembali dengan kode keluar tertentu: Seperti yang ditunjukkan Servy dalam komentar, Anda dapat mendeklarasikan Main dengan int
tipe kembali dan mengembalikan kode kesalahan seperti itu. Jadi benar-benar tidak perlu menggunakan Lingkungan. Keluar kecuali jika Anda perlu mengakhiri dengan kode keluar dan tidak mungkin melakukannya dalam metode Utama. Kemungkinan besar Anda dapat menghindarinya dengan melemparkan pengecualian, dan mengembalikan kode kesalahan di Utama jika ada pengecualian yang tidak tertangani menyebar di sana. Jika aplikasi ini multi-threaded, Anda mungkin perlu boilerplate lebih untuk mengakhiri dengan benar dengan kode keluar sehingga Anda mungkin lebih baik hanya memanggil Lingkungan. Keluar.
Hal lain yang menentang penggunaan Evironment.Exit
- bahkan ketika menulis aplikasi multi-utas - adalah usabilitas ulang . Jika Anda ingin menggunakan kembali kode Anda di lingkungan yang membuat Environment.Exit
tidak relevan (seperti perpustakaan yang dapat digunakan di server web), kode tersebut tidak akan portabel. Solusi terbaik masih, menurut pendapat saya, untuk selalu menggunakan pengecualian dan / atau mengembalikan nilai yang menyatakan bahwa metode tersebut mencapai beberapa kesalahan / selesai. Dengan begitu, Anda selalu dapat menggunakan kode yang sama di lingkungan .NET, dan dalam jenis aplikasi apa pun. Jika Anda menulis secara khusus aplikasi yang perlu mengembalikan kode keluar atau mengakhiri dengan cara yang mirip dengan apa yang Environment.Exit
dilakukan, Anda dapat melanjutkan dan membungkus utas di tingkat tertinggi dan menangani kesalahan / pengecualian sesuai kebutuhan.
Aplikasi konsol akan keluar ketika fungsi utama selesai berjalan. "Pengembalian" akan mencapai ini.
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("I'm running!");
return; //This will exit the console application's running thread
}
}
Jika Anda mengembalikan kode kesalahan, Anda dapat melakukannya dengan cara ini, yang dapat diakses dari fungsi di luar utas awal:
System.Environment.Exit(-1);
Anda bisa menggunakan Environment.Exit(0)
dan Application.Exit
.
Environment.Exit()
: mengakhiri proses ini dan memberikan sistem operasi yang mendasari kode keluar yang ditentukan.