自打上次碰到这个“??”开始,老是碰到这个操作符,看样子,这个操作符有流行起来的趋势,所以先搞个笔记记下这个操作符的意义。
这个“??”操作符,其实就是用来简化“?:”操作符的,如果 ?? 运算符的左边非空,该运算符将返回左边的,否则返回右边的。
object a=null;
object b=a??new object();
如上例,最后返回的就是new object();等价于
object a=null;
object b=a==null?new object():a;
官方解释:http://msdn.microsoft.com/zh-cn/library/ms173224(v=VS.90).aspx