首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空合并算子中的额外询问是什么?

空合并算子中的额外询问是什么?
EN

Stack Overflow用户
提问于 2016-08-23 17:33:03
回答 1查看 59关注 0票数 0

我有这样的条件:

代码语言:javascript
复制
if (dr_dados["DAT_SAIDA"] != null)
    {
        txtDataSaida.Text = "";
    }
    else
    {
        txtDataSaida.Text = dr_dados["DAT_SAIDA"].ToString();
    }

我正在使用捷博的ReSharper,它告诉我,我可以转换成一个三元运算。

所以,它变成了这样:

代码语言:javascript
复制
txtDataSaida.Text = (dr_dados["DAT_SAIDA"] != null) ? dr_dados["DAT_SAIDA"].ToString() : "";

但是它告诉我我可以转换成一个空的合并操作,它给了我这样的结果:

代码语言:javascript
复制
txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? "";

我知道空合并操作的作用,但是有一些不同的东西,我以前没见过,我想知道它是什么。

在这里进行额外的审讯:

代码语言:javascript
复制
                                         v
txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? "";

它是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-23 17:34:39

它是一个空条件运算符。

它用于在实际执行成员访问之前检查null。如果要访问的成员实际上是null,那么不会抛出任何异常,而是返回一个null值。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39107477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档