【发布时间】:2021-11-09 20:57:25
【问题描述】:
我经常看到这样的说法:
int? a = 5;
//...other code
a ??= 10;
第二行中的??= 是什么意思?我以前见过?? 用于空值合并,但我从未见过它与等号一起使用。
【问题讨论】:
-
在这里使用
var是模棱两可的,因为读者无法知道您的意思是int还是int?。前者会使a ??= 10无用。 -
我不确定是否要标记这个...鉴于您在打开它的几秒钟内回答了这个问题,而且它显然是重复的,看起来您打开它只是为了获得一些支持(您不要因为接受自我回答而得到任何代表)
-
@canton7 好吧,我一直在搜寻这个问题的答案,直到我在 MSDN 中遇到文档时才找到它。链接的答案是第一个出现的,但它甚至不包含文本
??=,也没有在这里回答问题。我通过选中问题区域下的“回答您自己的问题”复选框回答了我自己的问题。 -
@canton7 我弄错了。经过一番滚动,我发现那里有一个现有的答案! stackoverflow.com/a/60620993/1439748
-
好吧,对于(几乎?)所有运算符而言,
x op= y与x = x op y相同(尽管x仅被评估一次)。我的怀疑只是你自己直接回答了,所以你发布了一个你已经知道答案的问题
标签: c# conditional-operator equals-operator