我们正在将自定义序列化工具引入到我们的项目中,并遇到需要通过可用作其“身份”同义词的原始值类型来唯一标识每个对象。值需要没有任何意义或组织,只是它至少在序列化例程的持续时间内是唯一的和持久的。理想情况下,.net 将在内部维护一个唯一且持久的对象 ID,我们可以将其存储为对象的 ID。我知道每个对象都有一个 GetHashCode 方法,但我们对该值的全局唯一性没有信心。访问此类 ID 的另一个标准是该方法需要非常高效。
我已经研究过GetHashCode
,垃圾收集器和编码的想法,还没有得到任何可靠的结果。
最佳答案
您正在寻找ObjectIDGenerator
class ,这正是您想要做的。
关于.net - 是否有可能获得相当于 .net 对象的 'memory address' 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896936/