.net 方法参数中的NET Core(C#)问号[重复]

jv4diomz  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(152)

此问题在此处已有答案

What does a question mark after a reference type mean in C#?(1个答案)
2天前关闭。
我是新的网络核心,今天我读了下面的代码:

public void SomeMethod (object? p1, object? p2, object? p3)

我不清楚参数中问号的含义,在Net Framwork中一个非可空类型后的引号用来将其定义为可空(例如:但是对象是一个可以为空的类型,所以我很困惑。
这是什么意思?有没有一个参考,我可以得到新的语法细节,而不打扰这个社区?

dy1byipe

dy1byipe1#

我相信这是由于NET 6中所做的更改。
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-reference-types开始
从.NET 6(C# 10)开始的所有项目模板都为项目启用可为null的上下文。使用早期模板创建的项目不包括此元素,并且除非在项目文件中启用这些功能或使用pragma,否则这些功能将处于关闭状态。
我怀疑,由于object类型可以替换为您特别希望为非空的任何类类型,因此此检查也必须应用于它。

相关问题