6

重複の可能性:
C#では、string.EmptyまたはString.Emptyまたは“”を使用する必要がありますか?

違いは何ですか:

return string.Empty;
return String.Empty;
return "";
4

2 に答える 2

8

はのstring言語エイリアスであるためString、最初の式と2番目の式の間にまったく違いはありません。

.NET 2以降で""は、とまったく同じオブジェクトが返され、返さString.Emptyれる値に関して3つのステートメントすべてが互いに完全に同等になります。2より前の.NETでも、インターンのために複数のオブジェクトが作成されることはありませんでした。

1番目と2番目のスニペットは、3番目のスニペットとは異なるILコードを生成しますが、すべて同じオブジェクトを返します。

于 2012-10-01T14:28:12.747 に答える
4

最終的には違いはありません。

stringはのエイリアスですSystem.String(文字通り同じものであることを意味します)。「string」と入力すると、コンパイラはコンパイル時に「System.String」に変更します。

現在、System.String.Emptyは次のように定義されています。

public static readonly string Empty = "";

""したがって、タイプミスの代わりに空の文字列を使用することを明示的に示すのに便利な方法です。

于 2012-10-01T14:28:56.200 に答える