VB.NETではSystem名前空間をインポートすればどちらもString
という表記になり組み込み型のString
とString
クラスとの区別が曖昧になります。
一方C#では、同じ文字列型でも組み込み型を表すstring
とSystem.Stringを表すString
の両方の表記を混在させることができます。
既に説明したようにstring
とString
のどちらを使っても同じですが、C#では一般に、変数や引数、メンバなどの宣言ではstring
を使い、静的メソッドを呼び出す場合などにはString
を使う、という使い分けをすることが多いようです。
逆に、次のような使い分けをすることもできます。 表記が異なるだけで上記のコードと以下のコードは全く等価です。
当然、string
やString
のどちらかだけに統一することもできますが、ガイドラインやコーディング規約などで定められている場合は、それに合わせて統一することが推奨されます。