是否有可能获得.net对象的'内存地址'?

时间:2012-10-15 13:44:31

标签: .net memory-address object-identity

我们正在将自定义序列化工具滚动到我们的项目中,并且需要通过原始值类型唯一地标识每个对象,该原始值类型可以用作其“身份”的同义词。值的需要没有意义或组织,只是它至少在序列化例程的持续时间内是唯一且持久的。理想情况下,.net将在内部维护一个唯一且持久的对象ID,我们可以将其存储为对象的ID。我知道每个对象都有GetHashCode方法,但我们对值的全局唯一性没有信心。访问此类ID的另一个标准是该方法需要非常高效。

我看过GetHashCode,垃圾收集器和编组的想法,还没有达到任何可靠的目的。

1 个答案:

答案 0 :(得分:4)

您正在寻找ObjectIDGenerator class,这正是您正在尝试做的事情。