Memerangkap Ctrl C (SIGINT) dalam Aplikasi Konsol C#
Untuk mengendalikan gangguan aplikasi konsol C# dengan menekan Ctrl C ( SIGINT), acara Console.CancelKeyPress boleh digunakan.
Menggunakan Console.CancelKeyPress Event:
Acara Console.CancelKeyPress dinaikkan apabila pengguna menekan Ctrl C. Dengan mendaftarkan pengendali acara ke acara ini, kod boleh dilaksanakan sebelum atur cara ditamatkan.
Console.CancelKeyPress += delegate { // Perform cleanup operations };
Apabila Ctrl C ditekan, kod dalam pengendali acara akan dilaksanakan, membolehkan tugas pembersihan penting diselesaikan. Adalah penting untuk ambil perhatian bahawa tiada kod selepas perwakilan akan dilaksanakan.
Mengendalikan Senario Kompleks:
Untuk situasi di mana penamatan segera sesuatu tugas tidak praktikal, a pendekatan yang berbeza boleh digunakan. Kod berikut menunjukkan cara untuk memberitahu atur cara untuk keluar dengan anggun selepas pengiraan selesai:
bool keepRunning = true; Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e) { e.Cancel = true; keepRunning = false; }; while (keepRunning) { // Perform work in small chunks }
Dengan menetapkan e.Batal kepada benar, pelaksanaan diteruskan selepas pengendali acara. Pembolehubah keepRunning ditetapkan kepada palsu apabila Ctrl C ditekan, menyebabkan atur cara keluar dengan anggun.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C dengan Anggun dalam Aplikasi Konsol C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!