我有个好主意。NET 6.0 C#控制台项目
<Nullable>enable</Nullable>
.在这本书中,我有以下内容,在哪里
Span
是一种基本数据类型:
sealed class PrivateParser {
private void FatalError(int msgId, Span span /*, ...*/) {
/* ... */
}
}
当我打电话的时候
FatalError()
,在第二次声明中立即原谅null:
FatalError(0x80A0400, id.Span!);
编译器输出:
error CS1503: Argument 2: cannot convert from
'ShockBasic.Semantics.SourceData.Span?' to
'ShockBasic.Semantics.SourceData.Span' [C:\Users\hando\Documents\shockbasic\sb\ShockBasic.Compiler.csproj]
看见
Microsoft docs
,运算符应该返回不可为空的类型,因此我有点不知所措。
为了复制它,完整的项目就在这里
GitHub commit
跑
dotnet build
你可以看看最后一个错误。位置