c#入门-可为空的注释上下文

null

一个经典的问题,字符串的“”和null有什么区别。

string s = null;
string s2 = "";
Console.WriteLine(s);
Console.WriteLine(s2);

虽然看起来,他们都没有储存实际数据。
区别在于,“”相当于买了0个月饼。别人发了个空盒子过来。
虽然没有月饼吃,但是有一个购买记录,凭借这个订单号可能还能抽个奖什么的。
而null自始没有买东西,查不到购买记录,不能参与抽奖。

具体而言,“”仍然可以访问他的内容。
而null一旦访问他的内容,就会报错。
在这里插入图片描述

可空注释的上下文

由于null一直以来都是报错大户,为了限制这个问题,VS加入了新的检测机制。
但是这种检测机制不能保证正确,看着又烦,所以如果不想要的话可以关掉。
在这里插入图片描述
在解决方案管理器中双击你的项目
找到这一行文字
在这里插入图片描述
将enable改成disabel即可关闭。

可空类型

如果你的可空注释是开启的,那么你会看到你的变量当前可能为null的提示。
如果你觉的这个变量就是可以为null的,不需要检测,可以在类型后面加问号。这样就不会检测他了。
在这里插入图片描述

空容忍

即便类型加了问号,如果识图访问他的内容,那么在VS觉得他是null的情况下仍然会警告。
如果不想看见警告,可以在点前面加感叹号。这样提示就不会出现。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值