C#return string.Empty;并返回String.Empty;

时间:2012-10-01 14:25:04

标签: c#

  

可能重复:
  In C#, should I use string.Empty or String.Empty or “”?

有什么区别:

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

2 个答案:

答案 0 :(得分:6)

由于stringString的语言别名,因此第一个和第二个表达式之间绝对没有区别。

从.NET 2开始,""返回与String.Empty完全相同的对象,使得所有三个语句在它们返回的值方面完全相同。即使在2之前的.NET中,也不会因为实习而创建多个对象。

第一个和第二个片段将生成与第三个片段不同的IL代码,但它们都将返回相同的对象。

答案 1 :(得分:4)

最终没有区别。

stringSystem.String的别名(意思是字面意思相同),当您键入“string”时,编译器会在编译时将其更改为“System.String”。

现在,System.String.Empty被定义为:

public static readonly string Empty = "";

所以这只是一种方便的方式,明确表示你想要使用一个空字符串,而不是""这可能是一个错字。