这种情况是什么意思?
if (!helper?.Settings.HasConfig ?? false)
附言
helper
是某些class
的变量Settings
是一些字段HasConfig
也是字段最佳答案
好吧,?.
是一个空条件运算符
https://msdn.microsoft.com/en-us/library/dn986595.aspx
x?.y
表示如果
null
为null,则返回x
,否则返回x.y
??
是空合并运算符https://msdn.microsoft.com/en-us/library/ms173224.aspx
x ?? y
表示
x == null
是否返回y
,否则x
结合以上所有
helper?.Settings.HasConfig ?? false
表示:如果返回
false
helper == null or
helper.Settings.HasConfig == null
否则返回
helper.Settings.HasConfig
没有
??
和?.
if
的代码可以重写为麻烦的代码if (!(helper == null
? false
: (helper.Settings.HasConfig == null
? false
: helper.Settings.HasConfig)))
关于c# - C#中的变量之后 “?”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37851873/