using record(まとめと復習)
書いた
自分の中での整理
個人的にrecordで一番良いと感じたのは、Primary ctorを定義した場合に、get; int;
アクセサーと、値積み込み処理の生成を自動でやってくれる点。
今まで、C#で
Constructorが動いたらobjectが利用可能になるように書きましょう
ってポリシーでやると、VS2019を使っていたとしても
- 自動実装プロパティを定義する。
- 自動実装プロパティをドラッグしてctrl + .を押して、ctorを生成する。
と、地味に面倒な作業が必要だった。
C#8まではinit set
がなかったこともあって、Initializer経由で値セットするだけなのに、ついsetを書きがちな現象をよく見かけた(そして面倒な気持ちも理解できる。)
C#9でのrecordを使う場合、Primary ctorの定義を使っていけば、無用なset アクセサーは避けられる(そもそも自分で書かなくていい)し、コード書いてる側もわざわざctor書かなくても自動生成されるしで、丁度良いんじゃないかなあと今のところ思っている。
まだ、理解しきれているわけじゃないので、理解が進んだらまた書き直しor追記するかもしれない。