悬赏分:20 浏览:417 次
|
.net2.0新增的可空类型可以包含值,或者可以是null。?? 运算符定义当可空类型分配给非可空类型时返回的默认值。如果在将可空类型分配给非可空类型时不使用 ?? 运算符,将生成编译时错误。具体demo可以看MSDN C#高级编程(四)里面的第五章讲到了,LZ可以去详细了解一下 community server 里面用了很多。 return a ?? b; 的意思是 if(a == null) return b; else return a; |
|
8个月前 Klesh Wong : 错,应该是: if (a != null) return a; else return b; |
|
8个月前 Klesh Wong : ??是短路式的 比如 a ?? b ?? c ?? d ?? e ...... 左边第一个非null值会被返回,然后表达式会停止往下运算 ??操作符可以用于可空类型,包括可空的值类型和引用类型,不过可空值类型事实上也是一种引用类型 有点像Javascript的||操作符 |