首页 > 解决方案 > 在 C# 8.0 中调用方法之前的感叹号是什么意思?

问题描述

我发现用 C# 编写的代码似乎是 8.0 版。在代码中,在调用方法之前有一个感叹号。这部分代码是什么意思,最重要的是,它的用途是什么?

var foo = Entity!.DoSomething();

标签: c#nullnullablec#-8.0

解决方案


这将是null 宽恕运算符
它告诉编译器“这不是空的,相信我”,因此它不会针对可能的空引用发出警告。

在这种特殊情况下,它告诉编译器Entity不为空。


推荐阅读