这是有效的C#代码
var bob = "abc" + null + null + null + "123"; // abc123
这不是有效的C#代码
var wtf = null.ToString(); // compiler error
为什么第一条语句是有效的?
这是关于编程的话题,为什么在字符串的情况下加号运算符的操作数可以为空。这有点像VB的东西(抱歉,各位),是为了让程序员的生活更轻松,或者假设程序员无法处理空值。我完全不同意这个规定。'unknown' + 'anything' 应该仍然是 'unknown'...
null.ToString()
命名为wtf
很奇怪。为什么会让你感到惊讶?因为当你没有任何调用来源时,你无法调用实例方法。 - BoltClockclass null_extension { String ToString( Object this arg ) { return ToString(arg); } }
- ctrl-alt-delor