通过在C#中添加空字符串将对象转换为字符串

kni*_*ttl 5 .net c# string null concat

最近,我已经看到了以下声明:

object o;
// assign o
return "" + o;
Run Code Online (Sandbox Code Playgroud)

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

为什么有人想这样做?为什么不直接调用.ToString()对象(当然检查对象后不是null)?

当然,代码更短,并且不使用空检查,但我发现它令人困惑.这还有其他好处吗?我也看到了关于整数值的相同陈述.

我希望在松散类型的语言(如JavaScript或PHP)中看到上面的代码 - 但不是在C#中.

Hab*_*bib 4

IMO,这只是避免空引用异常的一个糟糕方法。

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