您可能知道,DateTime?
没有参数化ToString
(用于格式化输出),并且执行类似的操作
DateTime? dt = DateTime.Now;
string x;
if(dt != null)
x = dt.ToString("dd/MM/yyyy");
会抛出
方法“ToString”没有重载需要 1 个参数
但是,由于 C# 6.0 和 Elvis ( ?.
) 运算符,上面的代码可以替换为
x = dt?.ToString("dd/MM/yyyy");
哪个....有效!为什么?