C# GC垃圾自动回收(陷阱)

本文探讨了C#中的垃圾回收(GC)机制,指出GC.Collect()主要负责回收不再被引用的对象,频繁调用可能影响性能。作者建议谨慎使用针对特定对象的GC.Collect,并提到MDIL代码回收作为替代方案。
摘要由CSDN通过智能技术生成

测试类:

        public class Demo : IDisposable
        {
            ~Demo()
            {
                MessageBox.Show("释放非托管资源");
            }
        }

按照其他阵友所述,若对象无可用引用指针(没有任何指针指向该对象) GC会自动销毁对象(立即)

可惜并不如人愿,等待很长一段时间 结果也是未销毁,窗口被销毁时才开始销毁此对象

        protected override void OnLoad(System.EventArgs e)
        {
            new Demo();
            /*
            Demo o = new Demo();
            o = null;
             */
        }
你或许会问如何释放?GC.Collect() 

        protected override void OnLoad(System.EventArgs e)
        {
            Demo o = new Demo();
            o = null;
            GC.Collect();
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值