Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C dengan Anggun dalam Aplikasi Konsol C#?

Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C dengan Anggun dalam Aplikasi Konsol C#?

Barbara Streisand
Lepaskan: 2024-12-27 09:38:13
asal
1002 orang telah melayarinya

How Can I Gracefully Handle Ctrl C Interrupts in a C# Console Application?

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
};
Salin selepas log masuk

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
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan