以前に何度か質問させていただいたことがあるものです。よって、Individual[0]のGeneの中身をEliteにコピーしようとしました。以下のコードのように、Individual[0]のGeneの中身をEliteにコピーし、その後にIndividual[0]の中身を変更し、Individual[0]の中身と、Eliteの中身を出力してみたところ、Eliteの中身もIndividualと同様に変更されていしまっているようでした。このように、Eliteの中身も一緒に書き換わってしまった原因を教えて頂けると助かります。わかりにくいかもしれませんがよろしくお願いします。23:15:18)マルチポストのようですので、別掲先のページのリンクを貼っておきます。以下のページの質問者さんと同じ方(ちょとすさん)ですよね?http://bbs.wankuma.com/index.cgi?mode=al2&namber=73809であれば同じ名前を使ってください。23:26:30)質問する際のマナーを心得ていませんでした。申し訳ありませんでした。調べていてもなかなか問題点を解決できずにいたため、2つの掲示板に書き込んでしまいました。本当にすみませんでした。返信シャローコピーとディープコピーについて学んでいただいた方が良いでしょう。メソッドの解説にも書いてありますが、「フィールドが参照型の場合、参照はコピーされますが、参照先オブジェクトはコピーされないため、元のオブジェクトとその複製は同じオブジェクトを参照します」です。同じ参照を共有するだけとなります。http://msdn.microsoft.com/ja-jp/library/system.object.memberwiseclone参照の先まで複製したいのであれば、ディープコピーとして自分で実装する必要があります。新しい配列を作ってその中身を1つずつコピーするなど、その型に応じたコピー処理を実装する必要があります。23:52:31)名前を変更しました。試してみて、Eliteの中身が変化しなかったコードを以下に載せます。試してみて、Eliteの中身が変化しなかったコードを以下に載せます。疑問は解決されたということでしょうか?そうであれば、それを明確にしていただけるとわかりやすくて助かります。シャローコピーと定義し、ディープコピーすべき要素を外部でコピーするように実装されている点が気になりました。参照型のフィールドを増やすような実装変更をしても、利用する側のコードを触らなくて済む可能性が高まります。クラス側に実装して、利用者は「ディープコピーがしたい!」というメソッドの呼び出しだけにする」この点に関して改善したいと考えています。「解決済み」にはせずに、シャローコピーとディープコピーについてもう少し学習し、改善したらまた書き込みたいと思います。