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