为了账号安全,请及时绑定邮箱和手机立即绑定

C#中两个问号是什么意思 "??"

C#中两个问号是什么意思 "??"

胡说叔叔 2018-12-10 22:16:05
如 string s = a ?? b;
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

就是如果为null,则运行后面的,否则返回前面的。

obj = obj1 ?? new Object()
//等价于:
if (obj == null)
 obj = new Object();
else
 obj = obj1;


查看完整回答
反对 回复 2018-12-14
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

可以理解为:为空判断赋值预算符!

如果为空就将后面的表达式的值赋给它。

如:

int a=(page ?? 20) - 3;

// page==null 时a=20-3=17

// page!=null时a=page-3


查看完整回答
反对 回复 2018-12-14
  • 2 回答
  • 0 关注
  • 1119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信