微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – Dispose之间的区别

**Public Sub ExecuteQuery(ByVal pQueryString As String,Optional ByVal pConn As Odbc.OdbcConnection = nothing)

            Dim Mycmd As New Odbc.OdbcCommand(pQueryString,MyConn)
            Mycmd.ExecuteNonQuery()
            Mycmd.dispose()

    End Sub**

这里我使用dispose(Mycmd.dispose())清除对象.我可以在这里使用nothing(Mycmd = nothing?.哪个最好?

请帮助我先生,

通过

了Arul.

解决方法

Dim Mycmd As New Odbc.OdbcCommand(pQueryString,MyConn)

此命令将New Odbc.OdbcCommand(pQueryString,MyConn)创建的对象的引用存储到Mycmd中,即Mycmd基本上具有新创建的对象的地址.

现在当你这样做

Mycmd.dispose()

然后它表示新创建的对象的使用已结束,并且在垃圾回收期间可以释放分配给该对象的空间.

但是当你这样做的时候

Set Mycmd = nothing

然后它只是从Mycmd中删除新创建的对象的引用,它不会将其标记垃圾回收.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐