qq_37296877 2017-07-09 03:52 采纳率: 61%
浏览 1082
已采纳

c#如何在对象销毁时,自动将计算的对象个数减-1

public class Dog : Pet
{
static int Num;
static Dog()
{
Num = 0;
}
public Dog(string name) : base(name)
{
++Num;
}

    new public void PrintName()
    {
        System.Console.WriteLine("狗的名字是" + Name);
    }
    sealed public override void Speak()
    {
        System.Console.WriteLine(Name + " is speaking " + "wow");
    }
    static public void ShowNum()
    {
        System.Console.WriteLine("狗的数量:" + Num);
    }
}

    c#有垃圾回收机制,不需要析构函数,即使定义了,也不会按照你预想的进行。
    那么如何知道当前的对象个数呢,

    比方说我new了很多个狗狗的对象,根据c#自动回收机制那么有些狗狗会自动在不用的时候会被删除,如何知道当前的狗狗数量呢
  • 写回答

2条回答 默认 最新

  • threenewbee 2017-07-09 17:06
    关注

    重写 Finallize 函数,在里面让 Num-1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料