总目录
前言
本文主要讲解!(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 包容运算符 “!” —— 概念、由来、用法和注意事项