• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c#空接合(??)运算符的运用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
    之前不了解空接合运算符时,要判断一个对象是否为null,如果为null那么给赋于一个默认的值,做法相当的麻烦.例如:
    int? isobject = null;
    if(isobject==null)
    {
        isobject=0;
    }
    每次都要进行判断!!
    当然以上举的只不过是一个简单的例子,有人会想,int型的本来就不会为null,因为其本身有一个默认的值为0.我在这里要说明一下的是,这里举的只是一个例子而己!而且int?代表了变量isobject是可为空的!所以当我赋与一个null时,isobject并不是为0,而是为null.
    每次的判断都要用一个if语句,相当的麻烦,现在用了空接合,代码如下:
    isobject = isobject??0;
    空接合运算符(??)为处理可空类型和引用类型时表示NULL值的可能性提供了一个快捷方式,这个运算符放在两个操作数之间,第一个操作数必须是一个可空类型或引用类,第二个操作数必须与第一个操作数的类型相同,或者可以隐含地转换为第一个操作数的类型.
    空接合运算符的计算如下:
    如果第一个操作数不为NULL,则整个表达式就等于每一个操作数,但如果第一个操作数为NULL,则整个表达式就是等于第二个操作数的值.例如:
    int? a= null;
    int b;
    b= a??10;    //b has the value 10
    a=3;
    b= a??10;    //b has the value 3
   如果第二个操作数不能隐含地转换为第一个操作数的类型,就生成一个编译错误.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#调用C++---参数传递发布时间:2022-07-14
下一篇:
影像数据的裁切和保存-Arcengine,C#发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap