如何在c#中获取对象的地址

本文关键字:取对象 地址 获取 | 更新日期: 2023-09-27 18:08:28

如何在c#中获得对象的地址?

i searching and found

GCHandle handle = GCHandle.Alloc(obj, GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(handle).ToInt32();

但是需要一些更简单的代码

这里可以使用&算子吗?

如何在c#中获取对象的地址

对象在c#中默认没有固定地址,你需要显式地告诉垃圾回收器来固定它。

不安全代码。使用/unsafe (VS项目属性中的复选框)编译

unsafe
{
    fixed(MyobjType* objptr = &myobj)
    {
      // do sthng
    }
}