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 + "释放了");
        }
    }
}
相关推荐
2501_9378609411 小时前
Java多线程初阶(下)—— synchronized、volatile、wait/notify与经典并发工具
java·开发语言·jvm
二十雨辰15 小时前
[Java]-JVM面试题
java·开发语言·jvm
IT_Octopus16 小时前
G1 与 GC 日志入门课程(以本次离线菜单 Full GC 事故为教材)
java·jvm
疯狂打码的少年21 小时前
【数据库技术】关系代数连接运算(等值连接/自然连接/外连接)
jvm·数据库·笔记·oracle
ly76891 天前
Java 21 到 Java 26 新特性详解:虚拟线程、模式匹配、结构化并发、HTTP/3 与 AOT
java·jvm
我星期八休息1 天前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
wuminyu1 天前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
剑指offer.2 天前
Linux多任务-线程篇
java·jvm·算法
Zzzzmo_2 天前
JVM 知识整理
jvm
戴西软件2 天前
远程协同仿真是什么体验?
运维·jvm·人工智能·自动化·rpa