VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: tontonhu

C#中的自定义对象怎么释放?

[复制链接]

0

主题

38

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-4-22 15:45:01 | 显示全部楼层
GC.Collect;//强制对所有代进行垃圾回收
回复

使用道具 举报

0

主题

38

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-4-22 17:00:01 | 显示全部楼层
GC.Collect();//强制对所有代进行垃圾回收
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-22 19:15:01 | 显示全部楼层
实现IDisposable接口,里面有个Dispose方法。在这个方法里释放对象中的资源。用完之后手工调用Dispose就行了。有一些注意事项,MSDN里有很详细的讲解的。
回复

使用道具 举报

3

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-4-23 00:00:01 | 显示全部楼层
GC.Collect();//强制对所有代进行垃圾回收---foo对象GC怎么识别它是垃圾呢?实际上我调用万了这句话后,foo对象还是生存的。

实现IDisposable接口,我的Foo类很简单,没有什么资源可以释放,只有其foo本身所占用的内存,怎么释放?
回复

使用道具 举报

0

主题

38

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-4-23 01:15:01 | 显示全部楼层
.Dispose方法用于释放非托管资源,与释放内存无关~
回复

使用道具 举报

0

主题

38

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-4-23 04:00:01 | 显示全部楼层
//先
foo = null;
回复

使用道具 举报

3

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-4-23 09:15:01 | 显示全部楼层
谢谢大家!

foo = null;
GC.Collect();


这个答案好像可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表