有什么区别:
return string.Empty;
return String.Empty;
return "";
有什么区别:
return string.Empty;
return String.Empty;
return "";
由于string
是 的语言别名,String
因此第一个和第二个表达式之间绝对没有区别。
从 .NET 2 开始,""
返回与 完全相同的对象String.Empty
,使所有三个语句在它们返回的值方面彼此完全等效。即使在 2 之前的 .NET 中,也不会因为实习而创建多个对象。
第一个和第二个片段将生成与第三个片段不同的 IL 代码,但它们都将返回相同的对象。
归根结底,没有区别。
string
是一个别名System.String
(意味着它实际上是同一件事),当您键入“string”时,编译器在编译时将其更改为“System.String”。
现在, System.String.Empty 定义为:
public static readonly string Empty = "";
所以这只是一种方便的方式来明确表示你想使用一个空字符串,而不是""
可能是一个错字。