我有条件:
if (dr_dados["DAT_SAIDA"] != null)
{
txtDataSaida.Text = "";
}
else
{
txtDataSaida.Text = dr_dados["DAT_SAIDA"].ToString();
}
我正在使用Jetbrain的ReSharper,它告诉我可以转换为三元操作。
所以,它变成了这个:
txtDataSaida.Text = (dr_dados["DAT_SAIDA"] != null) ? dr_dados["DAT_SAIDA"].ToString() : "";
然后它告诉我我可以转换为空合并操作,它给了我这个:
txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? "";
我有点知道空合并操作的作用,但是有一些不同的东西,我以前没见过的东西,我想知道它是什么。
这个额外的讯问就在这里:
v
txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? "";
它做什么/意味着什么?
答案 0 :(得分:6)
这是一个空条件运算符。
它用于在实际执行成员访问之前检查null。如果您要访问的成员实际上是null
,则不会抛出异常,而是返回null
值。