首页 > 编程语言 >C# —— 析构函数

C# —— 析构函数

时间:2024-07-25 21:27:29浏览次数:16  
标签:p2 p3 函数 People C# 析构 null

构造函数创建对象 对属性进行初始化的作用
析构函数: 当一个对象被释放的时候执行

析构函数的特点:

  • 一个类只能有一个析构函数。
  • 无法继承或重载析构函数。
  • 无法调用析构函数。它们是被自动调用的。
  • 析构函数既没有修饰符,也没有参数。

语法 

~方法名()

{

        语法;

}

关于析构函数的实例

析构函数 , 对象释放的时候 执行,一般吧一个对象位置null的时候 这个对象被释放.

class People
{
    public string Name { get; set; }
    
        // 构造函数参数作用就是给属性赋值
    public People(string name)
    {
        Name = name;
    }

    // 析构函数 , 对象释放的时候 执行,一般吧一个对象位置null的时候 这个对象被释放.

    ~People()
    {
        Console.WriteLine(Name + "即将被回收");
    }
}

Main类里面进行调用

People p1 = new People("张三");
People p2 = new People("李四");
p1 = null;

People p3 = p2; // 把p2赋值给p3 p2 和 p3都是引用类型 指向的同一个内存地址;

p2 = null;
p3 = null;

GC.Collect(); // 强制执行垃圾回收

标签:p2,p3,函数,People,C#,析构,null
From: https://blog.csdn.net/lu2023_8_6/article/details/140700329

相关文章

  • C语言知识大闯关之二维数组与变长数组
    目录引言1.二维数组的创建1.1二维数组的概念1.2二维数组的创建2.二维数组的初始化2.1不完全初始化2.2完全初始化2.3按照行初始化2.4初始化时省略行,但不可以省略列3.数组的使用3.1二维数组的下标3.2二维数组的输入和输出二维数组在内存中的存储4.C99中的变长数组引......
  • C语言分支语句之if的一些用法
    目录引言C语言结构1.if语句1.1if1.2else2.分支中包含多条语句3.多重选择elseif4.嵌套if5.悬空else/else与if配对问题引言C语言作为一种非常常用的编程语言,具有灵活强大的循环和分支结构。循环结构允许我们重复执行一段代码,而分支结构则允许我们根据条......
  • 计算机网络(四)数字签名和CA认证
    什么是数字签名和CA认证?数字签名数字签名的过程通常涉及以下几个步骤:信息哈希:首先,发送方使用一个哈希函数(如SHA-256)对要发送的信息(如电子邮件、文件等)生成一个固定长度的哈希值(也称为消息摘要)。哈希函数具有以下特性:定长输出:无论输入信息的大小,输出都是固定长度的。......
  • ACM日常训练日记——7.25
    Atcoder训练Harlequin思维题博弈论,思考每一次怎么转化最优,存在两个答案说明f可以赢,打表发现当所有数字都是偶数时,答案为second,否则为first#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intmain(){ lln; cin>>n; llans=0; vector<ll>v(......
  • c 语言 换行
      在C语言程序编写中,我们有时会遇到一行代码太长而影响阅读或者出现与部分公司或组织要求的编码规范不符的情况,此时我们需要将这行代码分成多行来写。一、针对一般语句换行使用\结尾作为换行标记在编译时,\后面的换行符将被忽略,当做一行处理。比如宏定义时使用#definemy_puts......
  • Kylin Cube监控:掌握数据立方体的资源使用
    KylinCube监控:掌握数据立方体的资源使用ApacheKylin是一个高性能的分布式分析引擎,它通过构建数据立方体(Cube)来加速对大数据集的查询。随着企业对数据的依赖日益增加,监控Cube的内存和磁盘使用变得尤为重要。本文将深入探讨Kylin是否支持Cube的内存和磁盘使用监控,并提供详......
  • 探索WebKit的CSS表格布局:打造灵活的网页数据展示
    探索WebKit的CSS表格布局:打造灵活的网页数据展示CSS表格布局是一种在网页上展示数据的强大方式,它允许开发者使用CSS来创建类似于传统HTML表格的布局。WebKit作为许多流行浏览器的渲染引擎,提供了对CSS表格布局的全面支持。本文将深入探讨WebKit如何实现对CSS表格布局的支持,......
  • SpringBoot集成RocketMQ
    RocketMQ的延迟消息概述举例说明延迟:PDD的拼单,大家在pdd拼单购买商品时,下单后,会有一个拼单倒计时,如果在倒计时结束的时候,还未拼单成功,那么系统就会取消到这个订单。技术实现:只需在消息生产者代码中添加一句:message.setDelayTimeLevel(3);//设置延迟的等级,即消费者接收到......
  • C++ - 目录 - 一周速通
    基础入门免费教程希望可以帮助每一位编程爱好者!开源地址:点我加入开发工具随课习题文章目录C++基础-0-了解历史C++基础-1-开始入门C++基础-2-数据类型C++基础-3-变量常量C++基础-4-运算符号C++基础-5-条件判断C++基础-6......
  • 麻了,麻了,终于知道c语言为啥那么容易从入门到放弃了
    麻了,麻了,这谁看不迷糊。(温馨提示:出题时程序一般不会将每一种情况列出,会选其中一个或多个;请勿以答案相同认为思路相同)见了这种题怎么办?猜?这多少分之一的概率?死记?它变个数字又不同了,那得记多少?放弃?好像只能这样了。(不行,不行)今天,博主来教你们彻底解决这些问题。众所周知整......