为什么连接Null String有效,而不调用“null.ToString()”呢?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

这是有效的C#代码

var bob = "abc" + null + null + null + "123";  // abc123

这是无效的C#代码

var wtf = null.ToString(); // compiler error

为什么第一条语句是有效的?

提问于
用户回答回答于

第一个工作的原因是:

来自MSDN

在字符串连接操作中,C#编译器将空字符串视为空字符串,但不转换原始空字符串的值。

第二个错误的原因是:

null(C#参考) - null关键字是表示空引用的文字,不引用任何对象。null是引用类型变量的默认值。

用户回答回答于

因为+C#中的运算符在内部转换为String.Concat静态方法。

扫码关注云+社区

领取腾讯云代金券