違いは何ですか:
return string.Empty;
return String.Empty;
return "";
違いは何ですか:
return string.Empty;
return String.Empty;
return "";
はのstring
言語エイリアスであるためString
、最初の式と2番目の式の間にまったく違いはありません。
.NET 2以降で""
は、とまったく同じオブジェクトが返され、返さString.Empty
れる値に関して3つのステートメントすべてが互いに完全に同等になります。2より前の.NETでも、インターンのために複数のオブジェクトが作成されることはありませんでした。
1番目と2番目のスニペットは、3番目のスニペットとは異なるILコードを生成しますが、すべて同じオブジェクトを返します。
最終的には違いはありません。
string
はのエイリアスですSystem.String
(文字通り同じものであることを意味します)。「string」と入力すると、コンパイラはコンパイル時に「System.String」に変更します。
現在、System.String.Emptyは次のように定義されています。
public static readonly string Empty = "";
""
したがって、タイプミスの代わりに空の文字列を使用することを明示的に示すのに便利な方法です。