是字符串变量和字符串变量与string.empty相同?

时间:2016-06-01 22:38:21

标签: c#

我的应用程序中有很多场景,我将字符串声明为string.empty,然后动态地为其添加值。在C#中,是

string status

string status = String.Empty;

相同?

3 个答案:

答案 0 :(得分:3)

这些代码行不等同。

  • 如果您已在方法之外声明string status,则会将其初始化为其默认值null

  • 如果你已经在方法中声明了string status ,那么它就不会被初始化,并且在你明确地给它一个值之前你不能使用它。

您是否需要string status = String.Empty;取决于您的情况,但如果您发现您的代码有时会抛出,这似乎是避免NullReferenceException的好方法。

答案 1 :(得分:2)

没有。它不一样。 String datataype允许null。请记住,我们鼓励您始终初始化所有变量/属性/属性。

string status = String.Empty;

答案 2 :(得分:1)

string 变量的默认值为 Null

  

字符串状态;

  • 在方法内部:它会保持未初始化
  • 当在方法之外时:它会创建一个带有 Null 值的字符串对象,因为 string reference type
  

string status = String.Empty;

将创建一个字符串对象,其值为空常量,这是一个零长度的字符串