我试图编辑这个问题:退出命令行程序的首选方式是什么?
但是我的编辑被拒绝了。我不允许发表评论,因此我会冒着重复问题的风险。
最初的问题是“退出命令行程序的最佳方法是什么”。最好的方法显然是 to return
from Main()
,但是如果我想从事件处理程序Console.CancelKeyPress
或 Timer 中退出怎么办?
像在事件处理程序中一样,从 Main() 退出“远离”的唯一方法是该Environment.Exit()
方法吗?它可能不安全,因为Environment.Exit()
不会清理。
示例代码:
class Program
{
static void Main(string[] args)
{
Timer t = new Timer(4000);
t.Elapsed += t_Elapsed;
t.Start();
while (true)
{
System.Threading.Thread.Sleep(1000);
}
}
static void t_Elapsed(object sender, ElapsedEventArgs e)
{
// I want to exit here
}
}