首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >必须处理的变量类型是什么?(.NET/Java)

必须处理的变量类型是什么?(.NET/Java)
EN

Stack Overflow用户
提问于 2010-08-15 14:03:09
回答 8查看 2K关注 0票数 4

三个问题:

  1. 在.NET/Java中应该手动处理什么样的变量?我知道,SqlConnection应该总是手动释放,或者在使用{}块中使用。是对的吗?应该处理的其他类型的变量是什么?
  2. 我在某个地方读到,必须手动处理非托管代码。是那么回事吗?什么是非托管代码?我如何知道变量是托管的还是非托管的?
  3. 最后,如何处理变量?我知道that ()方法并没有真正地释放变量。那么处置()是做什么的呢?我应该将它们设置为null()吗?垃圾收集器的工作逻辑是什么?
EN

Stack Overflow用户

发布于 2010-08-15 23:27:16

我同意上面的内容,我将添加一个关于将变量设置为null的后续问题。

您不需要使用方法中使用的变量来完成此操作(它们将超出范围,因此只有当它们中的状态必须通过IDisposable.Disopse发出需要清理的信号时,您才不得不担心这一点)。

例如,内存和静态成员很少有用,因为内存不是人们通常认为的那样宝贵的资源(是一种宝贵的资源,但大多数试图在几行代码中处理它的尝试就像在有一个突发主程序时关闭龙头一样)。

如果您有一个类的静态或实例成员,并且(A)它是一个大对象(B)“拥有”对象可能会在内存中停留很长一段时间,并且(C)您知道不需要这个值增益来将该成员设置为null,那么它是很有用的。

实际上,这并不是一个非常常见的组合。如果有疑问,就别管了。

现在,请在这里阅读其他答案,因为他们对do ()方法的看法更为重要。

票数 1
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3487667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档