2016年12月28日の日記

<2016/12/29 2016/12/27>

funyak

構造体のほうで行くことにしました。
速度を実測した結果、デバッグモードではクラスのほうが微妙に速かったのですが、リリースモードでは構造体のほうが速くなりました。
当初、クラスにしていた最大の理由は、無効値としてnullを使いたかったからでした。
しかし、nullを使いたければNullableを使えばよいし、実際のコードを見てみると、nullの考慮が全くできていませんでした。
無効値があったらエラーが起きるわけです。
新たにnullを考慮するコードを入れることは可能でしょうが、読みにくくなるし、デバッグモードでも構造体より遅いコードになるでしょう。
であれば、nullを使うデメリットは多い一方、使わなくする悪影響は少ないと言えるでしょう。
ならば、nullを使わない構造体を使ったほうが良いというわけです。
唯一nullを使っていたコードも、nullを使わない方式に書き換えました。

<2016/12/29 2016/12/27>