みんな気になるC#のstringとStringの違い。

with コメントはまだありません

C#で開発をしていてふと疑問に思うのが、小文字ではじまる「string」と大文字の「String」に違いはあるのだろうか?ということ。

stack overflowで2658個の投票、496個のスター、46個の回答が付いていることからわかるように、簡単な疑問にも関わらず関心は高い。

What’s the difference between String and string?

 

stringはStringの別名

Javaをやっていた人は、Javaの文字列型がStringだから、C#をはじめるとこういうコードを書いてしまう。

しかしこれは、小文字の場合と何ら変わらない。

それというのも、stringはSystem.String型のエイリアス(別名)なだけだから、intがSystem.Int32であるのと同じように、全く同じに動作する。

 

どちらを使うべきか?

これはもう公式に回答があって、小文字のstringを使うべき。

というのも、StyleCopというマイクロソフト謹製のコーディングスタイル指摘ツールでルール付けされているから。

SA1121: UseBuiltInTypeAlias

 

特に理由がない限り、intをInt32と書く人がいないように、できるだけstringを使っていこう。

StyleCopについて詳しくはこちら

C#のイマドキな開発環境はこれなのですぞ。2015秋

 

C#おすすめ図書

他の言語をやったことがあって、その言語の作法でC#を書いちゃったことのある人へ

 

他人にとって読みやすいコードを書くための永遠の名著