Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近,我经常看到以下说法:
object o; // assign o return "" + o;
(基本相同return String.Concat(o);)
return String.Concat(o);
为什么会有人想要这样做?为什么不直接调用.ToString()对象(当然,在检查对象不为空之后)?
.ToString()
当然,代码更短并且取消了空值检查,但我发现它读起来很混乱。这还有其他好处吗?关于整数值,我也看到了相同的声明。
我希望在 JavaScript 或 PHP 等松散类型的语言中看到上面的代码,但在 C# 中看不到。
IMO,只是避免空引用异常的一种不好的方法。
可能最初的开发人员的意图是在返回时使用尽可能少的代码string而不检查null或Type
string
null
Type
不,您不想在 C# 中这样做。最好在对象上调用 ToString 方法。在某些语言中,这是首选语法,例如 JavaScript。因此,您可能会看到一些跨语言泄漏。