2017-02-10 76 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我試過了,這可以幫助我! –

相關問題