.net - 是否有可能获得相当于 .net 对象的 'memory address' 的值?

标签 .net memory-address object-identity

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

我已经研究过GetHashCode,垃圾收集器和编码的想法,还没有得到任何可靠的结果。

最佳答案

您正在寻找ObjectIDGenerator class ,这正是您想要做的。

关于.net - 是否有可能获得相当于 .net 对象的 'memory address' 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896936/

相关文章:

c - 为什么函数参数可以在C中包含地址或变量

c++ - 实现对象跟踪,如 Boost::Serialization

c# - 如何通过匹配值从 JSON 字符串中的特定属性中删除值?

c# - .NET JIT 编译代码缓存在哪里?

memory-management - 如果访问X86系统中不存在的物理地址怎么办?

c++ - g++ -std=c++11 和 visual studio 2013 之间的不同变量地址

python - 如何使用等效对象访问集合的元素?

c# - KeyVaultClient 在调试时随机抛出 FatalExecutionEngineError

c# - .NET 维恩图库