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