読者です 読者をやめる 読者になる 読者になる

C# ResharperにToStringを怒られた

ここ最近C#を使う機会が多く、javaとの作法の違いに戸惑っている。
今回はちょっと悩んだ部分があったためメモしとく。


C#をVisualStudioで書く際、「Resharper」を使うとエラーコードや問題をユーザーに教えてくれる。
このReshaperを使うことで、C#の規則やムダのないコーディングを教えてくれるので大変便利なのだが、
残念ながら英語なのだ^^;

私は英語が苦手なので、なにをResharperちゃんがおこっているのかわからんのだ。困っちゃう。


で、つい先日おこられた部分がこれ。

int num = 3;
string str = num.ToString();

もちろんコード的には間違いではなく、しっかりと動くしビルドも通る。
int型の数字をstring変換しているだけなのだが、Resharperちゃんてきには大層ご立腹だったらしい(笑)
その変換方法はちげーから!慣習にのっとってねーから!的なことを散々言ってくる。


Resharperちゃんが満足してくれたのが以下のやつ

int num = 3;
string str = Convert.ToString(num);

Convertを使った場合と使わなかった場合の違いは明確にあって、
Object.ToStringの場合、nullは変換できずに例外が発生する。
Convert.ToStringの場合、nullはから文字に変換されるらしい。

より安全性が高いのはConvertの方、ということだったみたい。
Resharper先輩、勉強になりmす。。。