如果左操作数为?? 运算符不为null,是否对正确的操作数求值?

安塔尔·伯德

我正在研究??在C#中使用运算符(空合并运算符)。但是MSDN上文档是有限的。

我的问题:如果左侧操作数不为null,是否曾经评估过右侧操作数?

乔恩·斯基特

和以往一样,C#规范是进行此类操作的最佳选择。

根据C#5规范的第7.13节(强调我的):

形式的空合并表达式a ?? b要求a是可空类型或引用类型。如果a为非空,则结果a ?? ba否则,结果为b该操作b仅在a为null时值。

有关何时执行任何转换以及确切行为的更多详细信息,但这是提出您问题的重点。另外值得一提的是,空合并运算符是右结合的,所以a ?? b ?? c作为评价a ?? (b ?? c)...这意味着它只会评价c,如果两者 ab为空。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运算符'=='没有左操作数

来自分类Dev

如果我理解正确:C# 相等运算符 ( == ) 和操作数的顺序

来自分类Dev

没有运算符“ >>”与这些操作数匹配-操作数类型为:std :: istream >> const double

来自分类Dev

没有与这些操作数匹配的运算符“ <”,操作数类型为:double <my_class

来自分类Dev

没有运算符匹配这些操作数;操作数类型为:std::istream >> const char [5]

来自分类Dev

是否允许三元运算符在C ++中对两个操作数求值?

来自分类Dev

'='左操作数必须为l值

来自分类Dev

“需要左值作为赋值的左操作数”错误-三元运算符

来自分类Dev

“需要左值作为赋值的左操作数”错误-三元运算符

来自分类Dev

在C中评估赋值运算符的左操作数有什么意义?

来自分类Dev

需要左值作为增量操作数-+一元运算符

来自分类Dev

逗号运算符的左和右操作数无效(警告)

来自分类Dev

C ++ 11:逗号运算符的左操作数无效

来自分类Dev

没有运算符“ <<”与这些操作数匹配

来自分类Dev

没有运算符“ <<”与这些操作数匹配

来自分类Dev

运算符操作数类型不匹配

来自分类Dev

Javascript:比较运算符中操作数的顺序

来自分类Dev

多个运算符“ []”与这些操作数匹配

来自分类Dev

操作数类型与运算符不兼容

来自分类Dev

RE错误:重复运算符操作数无效

来自分类Dev

grep错误:重复运算符操作数无效

来自分类Dev

'L'运算符后缺少操作数

来自分类Dev

Winforms:“数字”运算符后缺少操作数

来自分类Dev

从管道的左操作数捕获错误

来自分类Dev

右侧操作数为泛型时,“ as”运算符如何翻译?

来自分类Dev

运算符“ &&”不能应用于类型为“ int”和“ bool”的操作数

来自分类Dev

当操作数为short类型时,编译模板标量向量加法运算符失败

来自分类Dev

如何使用like运算符查找部分操作数为参数的模式

来自分类Dev

运算符'||' 不能应用于类型为'bool'和'lambda expression'的操作数

Related 相关文章

  1. 1

    运算符'=='没有左操作数

  2. 2

    如果我理解正确:C# 相等运算符 ( == ) 和操作数的顺序

  3. 3

    没有运算符“ >>”与这些操作数匹配-操作数类型为:std :: istream >> const double

  4. 4

    没有与这些操作数匹配的运算符“ <”,操作数类型为:double <my_class

  5. 5

    没有运算符匹配这些操作数;操作数类型为:std::istream >> const char [5]

  6. 6

    是否允许三元运算符在C ++中对两个操作数求值?

  7. 7

    '='左操作数必须为l值

  8. 8

    “需要左值作为赋值的左操作数”错误-三元运算符

  9. 9

    “需要左值作为赋值的左操作数”错误-三元运算符

  10. 10

    在C中评估赋值运算符的左操作数有什么意义?

  11. 11

    需要左值作为增量操作数-+一元运算符

  12. 12

    逗号运算符的左和右操作数无效(警告)

  13. 13

    C ++ 11:逗号运算符的左操作数无效

  14. 14

    没有运算符“ <<”与这些操作数匹配

  15. 15

    没有运算符“ <<”与这些操作数匹配

  16. 16

    运算符操作数类型不匹配

  17. 17

    Javascript:比较运算符中操作数的顺序

  18. 18

    多个运算符“ []”与这些操作数匹配

  19. 19

    操作数类型与运算符不兼容

  20. 20

    RE错误:重复运算符操作数无效

  21. 21

    grep错误:重复运算符操作数无效

  22. 22

    'L'运算符后缺少操作数

  23. 23

    Winforms:“数字”运算符后缺少操作数

  24. 24

    从管道的左操作数捕获错误

  25. 25

    右侧操作数为泛型时,“ as”运算符如何翻译?

  26. 26

    运算符“ &&”不能应用于类型为“ int”和“ bool”的操作数

  27. 27

    当操作数为short类型时,编译模板标量向量加法运算符失败

  28. 28

    如何使用like运算符查找部分操作数为参数的模式

  29. 29

    运算符'||' 不能应用于类型为'bool'和'lambda expression'的操作数

热门标签

归档