C# 析构函数

类的析构函数是类的一个特殊成员方法 当一个对象被释放时执行

被释放: C#有垃圾回收机制 当某个数据没有被任意一个变量引用时 垃圾回收机制就会把这个对象当作垃圾给清理掉

析构函数(终结器): 当类的某个对象被当作垃圾回收机制回收时 这个函数就被触发

cs 复制代码
namespace _4.析构函数
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Studen stu = new Studen() { Name = "张三"};
            Studen stu1 = new Studen() { Name = "李四" };
            stu = null;
            Studen stu3 = stu1;
            stu1 = null;
            //Console.WriteLine("请摁下任意按键 启动垃圾回收");
            //Console.ReadKey();
            //强制启动垃圾回收
            //一般不会频繁调用
            GC.Collect();
            //Console.ReadLine();

        }
    }

    class Studen
    {
        public string Name { get; set; }

        //析构函数
        //一个类只能有一个  没有参数 没有返回值
        ~Studen()
        {
            // 可以做一些释放工作
            Name = null;
            Console.WriteLine(Name + "释放了");
        }
    }
}
相关推荐
向阳是我7 小时前
Flutter Android 编译错误修复:JVM Target Compatibility 不一致问题记录
android·jvm·flutter
2501_901200537 小时前
PHP源码部署需要多大硬盘空间_PHP项目存储空间估算方法【方法】
jvm·数据库·python
2401_832365527 小时前
mysql如何优化mysql在多核CPU下的性能_调整线程并发数
jvm·数据库·python
m0_736439307 小时前
JavaScript中显式创建包装对象的后果与性能损耗
jvm·数据库·python
四维迁跃8 小时前
JavaScript中Object-defineProperties批量设置属性
jvm·数据库·python
2501_901200538 小时前
CSS如何让响应式字体在断点处平滑切换_使用clamp函数计算
jvm·数据库·python
dFObBIMmai8 小时前
如何应对高级SQL注入_配置数据库审计实时监控流量
jvm·数据库·python
2301_766283448 小时前
Golang怎么实现防重复提交_Golang如何用Token机制防止表单重复提交【技巧】
jvm·数据库·python
qq_414256578 小时前
CSS如何实现元素在容器内居中_利用margin-auto技巧
jvm·数据库·python
2401_824222698 小时前
如何用 Transferable 对象零拷贝转移超大数组内存给子线程
jvm·数据库·python