2017-02-10 50 views
-2

如何检查为特定类型创建的实例数以及每个实例占用了多少内存。请举个例子。如何检查为c#中的某个类型创建多少个实例?

+0

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

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

还有呢? –

+0

这是您创建的课程吗? –

+0

计算任何类的实例数的最好方法是在类中保留一个'static'' int'计数器,并在构造函数中将其加1并在dispose方法中减1。确保实现一次性接口 – ViVi

回答

1

正如评论所说,我会添加一个例子

public class Myclass 
{ 
    private static long Count; 

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

这只会为自己的类工作,这样,你不能找出System.String例如实例的数量。编程

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

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

+0

谢谢Moshe我试过了,这可以帮助我! –

相关问题