如何在c#中获取对象的地址?
我进行了搜索,找到了以下方法:
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(handle).ToInt32();
但需要一些更简单的代码
这里可以使用 &
运算符吗?
如何在c#中获取对象的地址?
我进行了搜索,找到了以下方法:
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.WeakTrackResurrection);
int address = GCHandle.ToIntPtr(handle).ToInt32();
但需要一些更简单的代码
这里可以使用 &
运算符吗?
在C#中,默认情况下,对象没有固定的地址,您需要明确告诉垃圾回收器将其固定。
不安全的代码。 使用 /unsafe 编译(在 VS 项目属性中的复选框)
unsafe
{
fixed(MyobjType* objptr = &myobj)
{
// do sthng
}
}