Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Listコレクションについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10888#CommentId23771
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2012/6/9 01:15:13
> Copy()、Clone()はどうやら新しいオブジェクトではコピーしてくれないようです。
「ディープコピー」と「シャローコピー」の違いです。
標準の Copy はシャローコピーであり、参照情報のみがコピーされます。
実態の複製が作られるわけではありません。
(VBに限らず、ほとんどのオブジェクト指向言語では参照のみがコピーされます)
> 正直、新しいオブジェクトを作る必要がある度に一つ一つコピーしないといけないのかと思うと
値型(Integer, Date, Boolean, 自作構造体など)に関しては、そうした作業は不要です。
問題となるのは、参照型(自作クラス、配列、コレクションなど)の場合ですね。
> もしもプロパティがクラス内に10以上あれば一つ一つコピーしてたら大変です。
「シリアライズ」という仕組みを使えば、一括してデータを複製することができます。
http://d.hatena.ne.jp/tekk/20100131/1264913887
あるいは、DataSet などを利用するという手もあります。
DataSet はシリアライザブルですし、データの複製機能もあります。