在Using Block中调用Environment.Exit()

RJ *_*son 11 c# idisposable console-application

如果我有一个控制台应用程序,其代码如下:

using (DisposableObject object = new DisposableObject())
{
   if (a condition)
     Environment.Exit(0);

   // Do Stuff
}
Run Code Online (Sandbox Code Playgroud)

我的物品会妥善处理吗?或者在清理对象之前线程是否死亡?

Ode*_*ded 10

您的应用程序将终止,并且此时将释放所有托管内存.

生成的finally块将不会执行,因此Dispose不会调用任何方法,因此很可能不会释放任何非托管资源.

请参阅不要盲目依赖终结器.