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
942 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!

sumber:php.cn
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