前提・実現したいこと
まず初めに、プログラム作成初心者です。
拙いもしくは、よくわからない質問かもしれません。
あるC#のソースコード内で、クローンを作成し、クローンとの比較処理(等価性の保証?)をしているコードがあるのですが、どうしてそのようなことが思いつくのかわからないため、質問させていただきたいです。
クローンを作成する理由というのは、どのようなものがありますでしょうか?
※また参考サイト、資料などありましたら教えていただきたく思います。
そのコードの意味を知りたいなら、様々な理由を聞くような迂遠なことをしなくていいんじゃないでしょうか。
> あるC#のソースコード内で、クローンを作成し、クローンとの比較処理(等価性の保証?)をしているコードがあるのですが
具体例(その「あるC#のソースコード」)を提示してください。
そのコードにどのような意図があるか作成者に聞けばいいのではないですか?
第三者にはコードもなしに何をしているかなんて分かりようがありません。
なるほど・・・ 皆様 ありがとうございます
質問の仕方すらわかっていないので、勉強になります
コードの意味というよりは、クローンの使い方に近いもしれません
どんな場合に「クローンを作成して何か処理したら良い」という考えが生まれるのかを知れればと思い質問させていただきました
元のオブジェクトのプロパティを変えたくないが変わる可能性がある時にバックアップ目的で使うことが多いのではないかと思います。
ただ、最近はイミュータブルなオブジェクトで参照透過性のある関数を使うのが流行です。
回答のコメントにも出てきていますが、シャローかディープかも曖昧で、とても使いやすいインターフェースとは言えません。ジェネリックが無いところからも、古くてメンテナンスされていない軽視されたインターフェースということがわかると思います。
まとめると、今からクローンを使う機会というのはほぼありません。
回答3件
あなたの回答
tips
プレビュー