5

最近,我经常看到以下说法:

object o;
// assign o
return "" + o;

(基本相同return String.Concat(o);

为什么会有人想要这样做?为什么不直接调用.ToString()对象(当然,在检查对象不为空之后)?

当然,代码更短并且取消了空值检查,但我发现它读起来很混乱。这还有其他好处吗?关于整数值,我也看到了相同的声明。

我希望在 JavaScript 或 PHP 等松散类型的语言中看到上面的代码,但在 C# 中看不到。

4

2 回答 2

4

IMO,只是避免空引用异常的一种不好的方法。

可能最初的开发人员的意图是在返回时使用尽可能少的代码string而不检查nullType

于 2013-10-29T14:16:38.597 回答
3

不,您不想在 C# 中这样做。最好在对象上调用 ToString 方法。在某些语言中,这是首选语法,例如 JavaScript。因此,您可能会看到一些跨语言泄漏。

于 2013-10-29T14:15:51.403 回答