概要
学生の時は先生が指導してくれていたけど
最近適当にしか書かなくなったから基礎練習です。
本の丸写しにならないように気を付けてます。
てか最初の章の話なのでネットで立ち読みもできますし
技術評論社のサイトにソースもあります。
雑な備忘録です。
目次
値型と参照型
C#の型は値型と参照型に分類される。
詳しい解説はこのサイトにありました。
http://ufcpp.net/study/csharp/oo_reference.html 🔗
- 値型には値がコピーされる
- 参照型には参照先アドレスがコピーされる
あれ?参照型ってC言語のポインタだよね?君
とりまソースを書いて値の動きを追ってみる
https://gist.github.com/5914036c85162aa1594cccf8086d3acc 🔗
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構造体はメソッドに値がコピーされているので
メソッド内だけの値の動きになっています。
雑感
なんとなくの理解と人に説明できる理解は違いますね。
ささっとこの本終わらせてしまいたい