社区
C#
帖子详情
C#中的自定义对象怎么释放?
lileammm
2007-01-04 09:48:42
public class Foo
{
public string name;
}
Foo foo = new Foo();
foo.name="tata";
//使用
//使用完了后想立即释放foo在堆中的内存,怎么释放?
...全文
784
17
打赏
收藏
C#中的自定义对象怎么释放?
public class Foo { public string name; } Foo foo = new Foo(); foo.name="tata"; //使用 //使用完了后想立即释放foo在堆中的内存,怎么释放?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lileammm
2007-01-04
打赏
举报
回复
谢谢大家!
foo = null;
GC.Collect();
这个答案好像可以。
viena
2007-01-04
打赏
举报
回复
//先
foo = null;
viena
2007-01-04
打赏
举报
回复
.Dispose方法用于释放非托管资源,与释放内存无关~
lileammm
2007-01-04
打赏
举报
回复
GC.Collect();//强制对所有代进行垃圾回收---foo对象GC怎么识别它是垃圾呢?实际上我调用万了这句话后,foo对象还是生存的。
实现IDisposable接口,我的Foo类很简单,没有什么资源可以释放,只有其foo本身所占用的内存,怎么释放?
alexanda2000
2007-01-04
打赏
举报
回复
实现IDisposable接口,里面有个Dispose方法。在这个方法里释放对象中的资源。用完之后手工调用Dispose就行了。有一些注意事项,MSDN里有很详细的讲解的。
viena
2007-01-04
打赏
举报
回复
GC.Collect();//强制对所有代进行垃圾回收
viena
2007-01-04
打赏
举报
回复
GC.Collect;//强制对所有代进行垃圾回收
viena
2007-01-04
打赏
举报
回复
stackalloc只能用于非托管类型
如
Char * pc = stackalloc Char[10];
//因为是指针类型,要放在Unsafe块内
lileammm
2007-01-04
打赏
举报
回复
liujia_0421(SnowLover) :
我想由我来决定GC什么时候回收堆的内存,就是想迅速结束那个自定义对象的生命,可以么?
lileammm
2007-01-04
打赏
举报
回复
viena(维也纳nn-下潜15米,潜望镜升起):
stackalloc怎么加呢?如果我一定要动态释放,是不是不支持?
liujia_0421
2007-01-04
打赏
举报
回复
可以不用理,GC会自动回收的..
golderer
2007-01-04
打赏
举报
回复
我想垃圾收集器会自动回收吧
viena
2007-01-04
打赏
举报
回复
而托管对象的内存只能由GC来自动回收
viena
2007-01-04
打赏
举报
回复
需要unsafe上下文
viena
2007-01-04
打赏
举报
回复
用stackalloc关键字
在堆栈上分配内存块,此内存不受垃圾回收的制约,在方法返回后自动释放
shinaterry
2007-01-04
打赏
举报
回复
直接关闭
foo.Close();
C#
之面向
对象
除了身边的女朋友,我们要掌握另一个面向
对象
编程,循序渐进的课程设计,单个概念的拆分,从理论到实践,从一头雾水至水到渠成,其实面向
对象
编程也没什么嘛, 五斗米老师已经帮你备好晚宴,开餐吧~
C#
语言系列课程...
C#
遍历
自定义
对象
,获取属性名、属性值,设置属性值
PhysiqueOutModelphysiqueOutModel = newPhysiqueOutModel ();//
自定义
对象
Type t = physiqueOutModel.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetProperties()) { ...
C#
学习笔记-关于
自定义
类
释放
资源的操作
自定义
类型
释放
资源 当
自定义
类型
中
包含有serialport、form等类型需要执行完后
释放
资源是,由于
自定义
类型未做
释放
,系统会提示报错,而且容易造成资源暂用。 解决方法是让
自定义
类型继承IDisposable接口,然后更改dispose方法
释放
资源。 继承接口: public class Machine : IDisposable 然后重新dispose方法,注意需要重写两个资源。 ...
【
C#
】
C#
创建
自定义
Object
对象
艹,老是忘!!! var obj = new { Name="lily",Age=12}; 记录一下,var obj = new { Name="lily",Age=12}; 转载于:https://www.cnblogs.com/willingtolove/p/9179668.html
关于
C#
中
对象
内存
释放
的处理
最近用
C#
在做图形开发,图形
对象
如 Bitmap, Graphics, Pen, Blush 之类比较耗费内存
如果不能及时
释放
,内存消耗急剧上升。发现在利用 Dispose() 之后,内存并没有立即
释放
,
频繁创建图形
对象
时内存消耗依然上升很快。
在经过尝试之后发现,在调用 Dispose() 之后立即调用 GC.Collect() 进行立即强制内存收集,
内存就能立即
释放
。
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章