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

标签 .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

这有什么意义吗?关闭应用程序本身不会释放所有已用内存吗?什么时候这样做才有意义?

最佳答案

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

但是忽略那里的那个小链接,不,这有点没有意义,至少在当今时代,就像他在帖子中所说的那样,也许在需要的旧版本中。

关于.net - 在 Application.Exit 调用之前,Object = Nothing 是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44239946/

相关文章:

c# - LINQ 获取 TreeView 中最深层次的节点

vb.net - 函数中的泛型

Android RemoteViews : setImageViewResource() vs setImageViewUri() vs setImageViewBitmap()

c - 字符串数组访问错误

.net - ColdFusion 9 调用 .NET Web 服务 - 找不到带参数的 Web 服务操作。帮助!

.net - 包含在 linq to entity 中的条件

c# - 如何在 .net 2.0 中使用 HTTP POST 使用 RESTFul web 服务

.net - 从 t4 预处理文本模板生成多个输出

vb.net - VB扩展属性,而不是扩展方法

javascript - Typescript 接口(interface)实例(对象)的可变性