【发布时间】:2019-04-27 21:08:36
【问题描述】:
这两种方法有什么区别吗?
static void Main(string[] args)
{
object str = null;
string test1 = str?.ToString() ?? "";
string test2 = Convert.ToString(str);
}
编辑 1:
正如@Fabio 指出的,我们有第三种可能的方法:
string test3 = $"{str}";
【问题讨论】:
-
另一个类似的情况,但没有空合并运算符:stackoverflow.com/questions/2828154/….
-
如果您想了解实现细节,可以从here开始阅读。
-
这里有两个来自参考来源的链接:Convert.ToString(Object object) 和 Object.ToString()
-
另一种方法:
var test3 = $"{str}" -
var test3 = $"{str}"将在“背景”中调用string.Format(str),您也可以显式调用它;)
标签: c# performance optimization