参考:SOF
在早期的 .NET 版本中,""
会创建一个对象而 string.Empty
不会,这就导致 string.Empty
的效率更高。
从 .NET 2.0 开始,程序中的所有 ""
都指向同一个字符串字面量(string literal),所以效率和 string.Empty
基本一样。
于是现如今的 string.Empty
和 ""
只有下面两个区别:
string.Empty
是个只读(readonly)字段,而""
是个常量值(const)- 这就导致 特性参数值、case 表达式 和 默认参数 等情况只能使用
""
- 这就导致 特性参数值、case 表达式 和 默认参数 等情况只能使用
string.Empty
的可读性更强