C# string变量和string.empty的string变量相同吗?

C# string变量和string.empty的string变量相同吗?,c#,C#,在我的应用程序中有很多场景,我将字符串声明为string.empty,然后动态地向其中添加值。在C中,是 string status 及 相同?不,不一样。字符串数据类型允许空值。请记住,我们鼓励您始终初始化所有变量/属性/属性 string status = String.Empty; 不,不一样。字符串数据类型允许空值。请记住,我们鼓励您始终初始化所有变量/属性/属性 string status = String.Empty; 这些代码行不是等价的 如果您在方法外部声明了字符串状态,它

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

string status


相同?

不,不一样。字符串数据类型允许空值。请记住,我们鼓励您始终初始化所有变量/属性/属性

string status = String.Empty;

不,不一样。字符串数据类型允许空值。请记住,我们鼓励您始终初始化所有变量/属性/属性

string status = String.Empty;

这些代码行不是等价的

如果您在方法外部声明了字符串状态,它将初始化为默认值null

如果在方法中声明了字符串状态,则该方法不会初始化,并且在显式为其指定值之前无法使用它


是否需要字符串状态=string.Empty;这取决于您的情况,但如果您发现代码有时会抛出NullReferenceException,这似乎是避免NullReferenceException的一种不错的方法。

这些代码行并不相等

如果您在方法外部声明了字符串状态,它将初始化为默认值null

如果在方法中声明了字符串状态,则该方法不会初始化,并且在显式为其指定值之前无法使用它

是否需要字符串状态=string.Empty;这取决于您的情况,但如果您发现代码有时会抛出NullReferenceException,这似乎是避免NullReferenceException的一种不错的方法。

否,string变量的默认值为Null

字符串状态

在方法内部时:它将保持未初始化状态 当在方法外部时:它将创建一个具有空值的string对象,因为string是一个字符串。 字符串状态=string.Empty

将创建一个字符串对象,其值为空常量,即长度为零的字符串。否,字符串变量的默认值为Null

字符串状态

在方法内部时:它将保持未初始化状态 当在方法外部时:它将创建一个具有空值的string对象,因为string是一个字符串。 字符串状态=string.Empty


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

否,字符串为引用类型默认值为null。字符串为引用类型。它默认为null。您可以关心也可以不关心。String.Empty与No相同,String是引用类型默认值为null。String是引用类型。它默认为null。您可能关心,也可能不关心。String.Empty与创建空值错误的字符串对象相同,仅在类级变量上发生,在未初始化的方法上不会编译。将创建空值错误的字符串对象,仅在类级变量上发生,在方法上,它将不会编译,因为它将被取消初始化。