请教个问题,函数中new了一个对象,程序结束的话,会自动调用函数的dispose吗? 最近学习看到有的代码中,一个程序,new了一个对象,没有看到有free的代码,也搞不懂对象在哪儿free如果没有free部分,程序运行后,会不会电脑的内存出现问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .net 垃圾回收器,在你对象没有引用时,释放。 一般如果你想自动释放的话,应该用using括起来,当然不括应该也可以。我也是刚学。平时都是用using括起来的。如果不用了。他自己会自动释放。 会自动帮你释放的 C# JAVA之类的语言已经不需要手动释放内存了 托管资源和非托管资源 托管的有GC 会帮你释放 非托管的 必然数据的操作那些 或者文件操作那些 要收到关闭 可以用 using dispose是自动释放的 。建议你其实可以这样操作 ,单步调试 ,这样你就可以看到程序的运行方式了 。 GC默认会在一段时间间隔清空内存中,不使用的变量当然你也可以像C++那样 用~来写析构函数,不过除非是非托管代码,一般不会这么用 建议楼上说Dispose的朋友们还是看书重新复习一下IDispose接口,正好相反,实现这个接口的意义是,必须手工调用Dispose方法,系统不会替你执行Dispose方法。只是,系统实现的IDispose接口的类,都在析构函数中检查, 没调用过Dispose,则调用一次。但如果自己写的类,实现此接口,则要注意,Dispose不会自动调用。正好想法,表示了Dispose需要在你不用的时候手工调用,目的是释放非托管资源。 怎么合并excel的表格 很奇怪的问题 winform 连接外网oracle问题 datagridview的滚动条问题 如何对母版页中的用户控件进行操作? 求一正则表达式的写法。某个字符串中包括一个字符串。 XML&CSS(在线等) 关于无句柄窗体的一个疑问 大家来说说:程序员一般做多少年后就不适合做了?? c#用api主要用在什么地方? 请教!用VS2008能不能生成word2007,主要是生成图表。 新人求助,超新人。求补全代码。
当然你也可以像C++那样 用~来写析构函数,不过除非是非托管代码,一般不会这么用
只是,系统实现的IDispose接口的类,都在析构函数中检查, 没调用过Dispose,则调用一次。但如果自己写的类,实现此接口,则要注意,Dispose不会自动调用。正好想法,表示了Dispose需要在你不用的时候手工调用,目的是释放非托管资源。