C#基礎 値型と参照型
概要
実戦で役立つ C#プログラミングのイディオム/定石&パターン
- 作者: 出井秀行
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/18
- メディア: 大型本
- この商品を含むブログ (1件) を見る
学生の時は先生が指導してくれていたけど
最近適当にしか書かなくなったから基礎練習です。
本の丸写しにならないように気を付けてます。
てか最初の章の話なのでネットで立ち読みもできますし
技術評論社のサイトにソースもあります。
雑な備忘録です。
値型と参照型
C#の型は値型と参照型に分類される。
詳しい解説はこのサイトにありました。
ufcpp.net
・値型には値がコピーされる
・参照型には参照先アドレスがコピーされる
あれ?参照型ってC言語のポインタだよね?君
とりまソースを書いて値の動きを追ってみる
gist5914036c85162aa1594cccf8086d3acc
Init MyClass:mc X=100 Y=200 MyStruct:ms X=200 Y=100 Print MyClass:mc X=200 Y=100 MyStruct:ms X=20 Y=100 Main MyClass:mc X=200 Y=100 MyStruct:ms X=200 Y=100
メソッドで値を変更しています。ですが、メソッドには戻り値がなく
メインメソッドで値を受け取っているわけではありません
MyClassは参照型なので参照先がPrintメソッドから直接書き換えられ
値型のMyStruct構造体はメソッドに値がコピーされているので
メソッド内だけの値の動きになっています。
雑感
なんとなくの理解と人に説明できる理解は違いますね。
ささっとこの本終わらせてしまいたい