您当前的位置: 首页 >  c#

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【C# 教程系列第 9 篇】如何验证 c# 中的构造函数与析构函数?

Allen Su 发布时间:2019-01-16 22:55:37 ,浏览量:2

这是【C# 教程系列第 9 篇】,如果觉得有用的话,欢迎关注专栏。

前面两篇博客已经讲了什么是构造函数 ,什么是析构函数 。

不知道大家有没有和我同样的疑问,一个类的实例在创建时真的会调用构造函数,在被销毁时调用析构函数吗?

有没有办法来验证呢?

都这样问了,肯定会有啊,哈哈。下面是我在一本 C# 学习笔记里的书中看到的验证方法,分享给大家,而且方法也不复杂,下面就来验证一下上述问题吧。

一:启动 Visual studio 开发环境,然后新建一个控制台应用程序,在 Program.cs文件中定义一个 MyTest类 ,代码如下

public class MyTest
    { 
        //构造函数
        public MyTest()
        {
            System.Diagnostics.Debug.WriteLine("类开始实例化,构造函数被调用");
            Console.WriteLine("构造函数");
        }

        ~MyTest()
        {
            System.Diagnostics.Debug.WriteLine("程序退出,析构函数被调用");
            Console.WriteLine("析构函数");
        }
    }

在 MyTest 类的构造函数和析构函数中分别使用 System.Diagnostics.Debug.WriteLine方法来输出调试信息,

这里我自己加上了 Console. WriteLine 方法,不过这里写了也没有用,因为当Test类的实例被回收时,应用程序已经结束,我们是看不到输出结果的,这里我顺手加上去是为了更显著的对比效果。

而使用 Debug类输出的内容是显示在 Visual Studio 的“输出”窗口中,程序退出后这些信息还会保留,如果其中包含相关的文本就说明构造函数和析构函数被调用过。

接下来,在 Main 入口点中加入以下代码,创建 MyTest 类的实例。

    class Program
    {
        static void Main(string[] args)
        {
            MyTest test=new MyTest();
        }
    }

二:按下 F5 键调试运行,不过很快应用程序就退出了。

然后,通过菜单栏中的【视图】→【输出】”窗口中看到下图所示的内容 在这里插入图片描述 通过上图我们可以很清楚的看到通过 System.Diagnostics.Debug.WriteLine 方法输出的话显示在了日志上,这也说明 MyTest 类的构造函数和析构函数是被调用了的。

此外,通过 Console. WriteLine 方法却并未打印,这也验证了前面说的那段话。

至此,验证构造函数与析构函数便叙述完毕,又是这个点,洗洗脸睡觉去了。 各位,晚安!

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0396s