主题:请教一个关于new的问题
wuyifan
[专家分:170] 发布于 2006-12-09 19:44:00
问一个比较菜的问题:
在创建对象时经常使用new来创建,比如
Point p1 = new Point(100, 100);
Pen pen = new Pen(Color.Red);
而用完后没有delete,这样对象会不会自动卸载?如果在C++中会造成指针丢失,C#是怎么处理的?
回复列表 (共5个回复)
沙发
longlong16 [专家分:10670] 发布于 2006-12-09 20:02:00
对象一般用close()方法来关闭,在写程序的时候最好养成习惯!
板凳
wuyifan [专家分:170] 发布于 2006-12-09 20:12:00
可是根本没有这个方法呀!
3 楼
jzyray [专家分:20610] 发布于 2006-12-10 00:17:00
托管资源会在析构时自动被GC回收,即自动调用其Finalize方法,不用人工干预。
非托管资源,比如指针、Interop等需要利用相应的方法释放。
Pen pen = new Pen(Color.Red);等均是创建托管资源
4 楼
guofarui [专家分:620] 发布于 2006-12-10 11:39:00
可以调用对象的Dispose方法来对他进行释放
5 楼
oldman0501998 [专家分:20] 发布于 2006-12-12 14:27:00
有那个方法的,你自已实现一下..
我来回复