using System;
namespace Class
{
class Program
{
static void Main()
{
//line temp1 = new line();
//LINE temp2 = new LINE(10.0);
line1 temp3 = new line1(5.66);
Console.WriteLine("{0}", temp3.length);
}
}
//默认的构造函数没有任何参数。但是如果你需要一个带有参数的构造函数可以有参数,
//这种构造函数叫做参数化构造函数。这种技术可以帮助你在创建对象的同时给对象赋初始值
class LINE
{
public double length;
public LINE(double length)
{
this.length = length;
}
}
// C# 中的析构函数
//类的 析构函数 是类的一个特殊的成员函数,当类的对象超出范围时执行。
//析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。
//析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源。析构函数不能继承或重载。
class line1
{
public double length;
public line1(double length)
{
this.length = length;
Console.WriteLine("对象已经被创建");
}
~line1() //析构函数
{
Console.WriteLine("对象已经被删除");
}
}
}
因为对象没有被销毁,所以析构函数不会被执行。
https://www.cnblogs.com/qixuejia/p/3957966.html
参考C#的GC
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
表示没问题,程序退出后自动销毁,直接f5运行是看不到对象已经被删除这个输出的,就闪一下
也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
养成好的编程习惯,使用new创建的对象用delete 删除释放内存;可以在11行后面加上一行delete temp3;