如何獲取c#中的對象的地址?如何獲取C#中對象的地址#
我搜查,發現
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(handle).ToInt32();
但需要一些更簡單的代碼
是&
運營商可以在這裏使用?
如何獲取c#中的對象的地址?如何獲取C#中對象的地址#
我搜查,發現
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(handle).ToInt32();
但需要一些更簡單的代碼
是&
運營商可以在這裏使用?
對象默認情況下在C#中沒有固定的地址,您需要明確告訴垃圾收集器將其固定。
我知道我會後悔問,但爲什麼你需要一個C#對象的地址? –
真正的問題是您打算如何處理C#中的對象地址? –
在.NET中獲取任意對象的地址是不可能的,但如果更改源代碼並使用mono,則可以完成此操作。請參閱此處的說明:http://stackoverflow.com/questions/25410158/get-memory-address-of-net-object-c/25432952#25432952 – evolvedmicrobe