C#でCtrl+cを受け付ける方法

最近、ひょんな事から尋ねられた、C#のコンソールアプリで、Ctrl+cを押されるまで起動しておく、という実装。

Program.Mainの最後にこんな感じで書くと簡単で良いです。

var exitEvent = new ManualResetEvent(false);
Console.CancelKeyPress += (sender, eventArgs) =>
{
    eventArgs.Cancel = true;
    exitEvent.Set();
};
exitEvent.WaitOne();

簡単ですね。

短いながら以上です。