在Application.Exit调用之前,Object = Nothing是否有意义?

时间:2017-05-29 10:13:22

标签: .net vb.net memory

我已经多次见过。上次我看到有人创建了一个excel应用程序对象时。他结束了他的申请:

myExcelObj = Nothing
Application.Exit()

我确定参考点无法取消关闭在后台运行的excel应用程序。还看到了很多不可见的对象,如下所示:

Public Class myClass
   Var1 as Integer = 0
   Var2 as SQLConnection
   Var3 as Whatever

   Public Sub New()
      Var1 = Maths.Rnd(0,1)
      Var2 = SomeStaticClass.GetSQLConnection()
      Var3 = New Whatever(Var1)
   End Sub
End Sub

(...)

// Somewhere in the Code (...)
Private Sub EndItAll(sender as Object, e as EventArgs)
    Me.My_myClassObject = Nothing
    Application.Exit()
End Sub

这有什么意义吗?无论如何都不用关闭应用程序本身的所有已用内存?什么时候这样做有意义?

2 个答案:

答案 0 :(得分:1)

这可能会回答您的问题: https://blogs.msdn.microsoft.com/ericlippert/2004/04/28/when-are-you-required-to-set-objects-to-nothing/

但忽略了那个小小的联系,没有任何意义,至少在这个时代,就像他在帖子中说的那样,或许是在需要的旧版本中。

答案 1 :(得分:1)

申请结束前?没有意义的。

否则这是好习惯,恕我直言。