C# !(null包容)运算符的使用

总目录



前言

本文主要讲解!(null包容)运算符的使用,至于详细原理可以查看本文附录的参考文档。


一、!(null包容)运算符是什么?

之前我们使用!符号都是用于逻辑运算符,如:

        private void TestMethod(bool isOpen)
        {
            if (!isOpen)//取反
            {
                //其余业务代码...
            }
        }

而在C#8.0之后,!有了新的意义,那就是null包容运算符,用来控制类型的可空性。
通俗点说:就是通过使用null包容运算符,关闭编译器的空检查,让其不在编译器中报出警告。

二、!(null包容)运算符如何使用?

1.使用

如果我们直接对引用类型进行赋null初始值的时候,编译器检查后会警告
在这里插入图片描述
如我们想去掉警告,则需要通过 !(null包容)运算符
在这里插入图片描述
通过上述案例我们需要知道

  • !(null包容)运算符可以让编译器关闭null的检查
  • 编译器关闭null 检查,并不代表后续该值不可能为null,仅仅是编译器层面的null检查而已

2.扩展-预处理器指令启用或关闭null检查

在这里插入图片描述
可以使用 #nullable enable#nullable disable 预处理器指令在代码中的任意位置启用和禁用 可为 null 的引用类型


总结

以上就是今天要介绍的内容,希望以上内容可以帮助到大家,如文中有不对之处,还请批评指正。


参考:
C# 中的 null 包容运算符 “!” —— 概念、由来、用法和注意事项
! (null 包容)运算符(C# 参考)
C# 中的 null 包容运算符 “!” —— 概念、由来、用法和注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值