可能重复:
In C#, should I use string.Empty or String.Empty or “”?
有什么区别:
return string.Empty;
return String.Empty;
return "";
答案 0 :(得分:6)
由于string
是String
的语言别名,因此第一个和第二个表达式之间绝对没有区别。
从.NET 2开始,""
返回与String.Empty
完全相同的对象,使得所有三个语句在它们返回的值方面完全相同。即使在2之前的.NET中,也不会因为实习而创建多个对象。
第一个和第二个片段将生成与第三个片段不同的IL代码,但它们都将返回相同的对象。
答案 1 :(得分:4)
最终没有区别。
string
是System.String
的别名(意思是字面意思相同),当您键入“string”时,编译器会在编译时将其更改为“System.String”。
现在,System.String.Empty被定义为:
public static readonly string Empty = "";
所以这只是一种方便的方式,明确表示你想要使用一个空字符串,而不是""
这可能是一个错字。