.NET Frameworkでは、少なくともC#言語では、文字列型の2つの「バージョン」があります。
- "ストリング"
- "ストリング"
それらは互換性があるように見えますが、本当にそうですか?それらが互換性がない場合、一般的に、他の代わりに一方を使用する方が良いでしょうか?
stringには存在せず.net、C#にのみ存在します。
.NET Frameworkでは、少なくともC#言語では、文字列型の2つの「バージョン」があります。
それらは互換性があるように見えますが、本当にそうですか?それらが互換性がない場合、一般的に、他の代わりに一方を使用する方が良いでしょうか?
stringには存在せず.net、C#にのみ存在します。
回答:
まあMSDNによると
stringは、.NET FrameworkのStringのエイリアスです。
ここで、「文字列」は実際System.Stringです。
それらは互換性があり、どちらを使用するか、いつどこで使用するかに違いはありません。
ただし、どちらを使用したかと一致している方が良いでしょう。
String(したがってstringエイリアスによる)は参照型です。
指摘したように、それらは同じものでstringあり、単にのエイリアスStringです。
価値のあるものについては、string変数、プロパティ、戻り値、およびパラメーターの型を宣言するために使用します。-これは、他のシステム・タイプの使用と一致してint、bool、varなど(ただし、Int32とBooleanも正しいです)。
またはのStringようなStringクラスの静的メソッドを使用するときに使用します。メソッドはクラスに属し、他の静的メソッドを使用する方法と一貫性があるため、これはより理にかなっていると思います。String.Split()String.IsNullOrEmpty()
小文字を使用することをお勧めしstringます。大文字は、Stringそれがインポートの名前空間で見つかった文字列の名前の最初のクラス...一般的に使用されますSystem.String。代わりに独自のStringクラスを使用することもできます。
Stringして働くことは可能ですが、trickすることは決してできませんstring。
string。
string は単なるC#キーワードであり、 System.String
..butそれがキーワードだ、あなたの構文は、エディタ/ IDEは、キーワードの色で表示されます、intと同じ、ダブル、もし、そうでない、などの文体着色としては、キーワードではなく、使用することを好むかもしれSystem.Stringタイプを(あるいは単にString後完了しましたusing System;)。
これは、しかしニッチ点であるもののとしてbool、char、int、doubleおよびstringシステム・タイプのすべてのキーワードの別名であり、stringそれは参照型であり、他の値型であるように、奇数ワンアウトです。
objectあまりにも、参照型のキーワード別名である
stringはのエイリアスに過ぎず、String最終的には同じです。
私は、一般的に使用していますがあなたは、あなたが好む方使用することができstring、私は(に似た多くのプリミティブデータ型のようにそれを使用して計画していたときint、floatまたはbool)およびStringIは、オブジェクト/クラスとしてそれを使用して計画していたとき。例えば:
string foo = " ";
if (String.isNullOrWhitespace(foo))
{
// ...
}
上記の場合、fooテキストを(事実上プリミティブとして)格納するためだけに使用することを計画しているためstring、ただし、電話String.isNullOrWhitespace(string)するときはを使用しますString。通常、クラス名の最初の文字は大文字(String)で、プリミティブの最初の文字(などint)は大文字ではないため、これを行います。