オブジェクトのコピーって、.dupとか.cloneとか使いますよね。
プログラミングの問題を解いていて、以前は.dupで行けた(要はコピーしたときに、別々のオブジェクトとして扱いたい)けれど、先日記述したコードでは参照が解けませんでした。正確には、自分が注目しているメンバー変数が参照のままだったという話。
ネットを調べていて、解決したのでメモメモ。
コピー元オブジェクトがAAA、コピー先オブジェクトがBBBとします。
このとき、以下のように記述すると、AAAの内容をBBBに「深いコピー」できるようです。
tmp = Marshal.dump(AAA)
BBB = Marshal.load(tmp)
速度的に有利・不利はわかりませんが…。