投稿者 るしぇ  (社会人) 投稿日時 2010/3/12 20:09:53
毎度おなじみ
[Visual Basic 中学校 > 初級講座 > 第34回 値型と参照型]
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm

[独学C# > C#プログラミング応用講義 > 構造体]
http://www12.plala.or.jp/dokugaku/lecture/6/4.html

もともと参照型は、大きなデータを丸ごと移動させる処理時間を改善する
ために考えられた仕組みです。
メモリ上の実体は動かさず、その位置情報(アドレス)をやり取りします。
葉書に書く住所(アドレス)みたいなものです。「東京都杉並区」と書いた
葉書をコピーしても、実際の「東京都杉並区」は動かないし、「東京都杉並区」
に建てた家を改築したら、葉書に書いた住所で訪ねた家も、コピーした住所で
訪ねた家も改築されていることと思われます。

これを葉書をコピーした時点で、「東京都杉並区」丸ごとコピーして別の
場所に再現してしまうのが「構造体」であり、「値型」の動きです。
このとき、実際は「東京都杉並区」から「コピー世界東京都杉並区」に住所が
変わってます。メモリ上で2箇所に「東京都杉並区」ができるので、それぞれの
場所で違う値を記憶しておけます。