let i = ref 123
let j = ref 123
i = j // true
同様に:
let i = box 123
let j = box 123
i = j // true
おそらく、iとjは実際にはメモリ内の同じ正確な場所を指していません... ??
2番目のケースでは、次のようにしてこの(奇妙な?)動作を回避します。
obj.ReferenceEquals (i, j) // false
最初のケースの適切な同等性テストは何ですか?
編集:
obj.ReferenceEqualsの呼び出しは、最初のケースでも機能することがわかります。
しかし、誰かが私にこの関数を呼び出さなければならない理由を説明できますか?=演算子だけを使用できないのはなぜですか?