let i = ref 123
let j = ref 123
i = j // true
相似地:
let i = box 123
let j = box 123
i = j // true
据推测, i 和 j 实际上并没有指向内存中的同一个确切位置......??
在第二种情况下,我通过以下方式解决了这种(奇怪的?)行为:
obj.ReferenceEquals (i, j) // false
第一种情况的正确平等测试是什么?
编辑:
我看到调用 obj.ReferenceEquals 在第一种情况下也有效。
有人可以向我解释为什么我必须调用这个函数吗?为什么我不能只使用 = 运算符?