会话变量引用后的问号 (?) - 这是啥意思
Posted
技术标签:
【中文标题】会话变量引用后的问号 (?) - 这是啥意思【英文标题】:Question Mark (?) after session variable reference - What does that mean会话变量引用后的问号 (?) - 这是什么意思 【发布时间】:2017-08-21 19:49:40 【问题描述】:我有一个代码sn -p 来修改。在那里我发现了这种语法。
Session("LightBoxID")?.ToString()
我不明白问号 (?) 是什么意思。没有谷歌搜索帮助我了解任何提示
【问题讨论】:
简写空检查。 @AlexeiLevenkov 这个问题与可空类型无关。结束问题时请小心 空条件运算符又名安全导航运算符又名猫王运算符。 msdn.microsoft.com/en-us/library/dn986595.aspx 这 is 是重复的,但它根本与可空类型无关。这是关于Null Conditional operator 你也可以查看这个问题***.com/questions/41524749/… 【参考方案1】:它是空条件运算符 它是空值检查的语法糖:
return str?.ToString();
会变成
if (str == null)
return null;
return str.ToString();
【讨论】:
使用空条件运算符是否被认为是一种好习惯?【参考方案2】:它在尝试调用.ToString()
之前对Session("LightBoxID")
执行空检查。
微软文档:Null-conditional operators ?.
and ?[]
【讨论】:
以上是关于会话变量引用后的问号 (?) - 这是啥意思的主要内容,如果未能解决你的问题,请参考以下文章