【问题标题】:How to check how many instances created for a type in c#? [closed]如何检查为 C# 中的类型创建了多少个实例? [关闭]
【发布时间】:2017-02-10 05:08:46
【问题描述】:

如何检查为特定类型创建的实例数量以及每个实例占用的内存量。请举个例子。

【问题讨论】:

  • 以编程方式?
  • 这是你创建的类吗?
  • 计算任何类的实例数的最佳方法是在您的类中保留一个staticint 计数器,并在构造函数中将其递增1,并在dispose 方法中将其递减。确保实现了 IDisposable 接口

标签: c# oop


【解决方案1】:

按照评论中的建议,我将添加一个示例

public class Myclass
{
    private static long Count;

    public Myclass()
    {
         Interlocked.Increment(ref Count);
    }
}

这仅适用于您自己的班级,这样您就无法找出System.String的实例数。

要找出类的大小,你应该使用这个using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential)]
public class MyClass
{
    public int MyField;
    public int MyField;
}

还有:

 int sizeInBytes = Marshal.SizeOf(typeof(MyClass)); //return 8

Also you have here a list with size of int, byte, etc.

【讨论】:

  • 谢谢 Moshe 我试过了,这对我有帮助!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
  • 2014-04-27
  • 2011-05-04
  • 2011-03-22
  • 2014-07-08
  • 1970-01-01
相关资源
最近更新 更多