我有这样的条件:
if (dr_dados["DAT_SAIDA"] != null)
{
txtDataSaida.Text = "";
}
else
{
txtDataSaida.Text = dr_dados["DAT_SAIDA"].ToString();
}我正在使用捷博的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() ?? "";它是什么意思?
发布于 2016-08-23 17:34:39
它是一个空条件运算符。
它用于在实际执行成员访问之前检查null。如果要访问的成员实际上是null,那么不会抛出任何异常,而是返回一个null值。
https://stackoverflow.com/questions/39107477
复制相似问题