C#:int[] 可以为空而不声明它吗?

C#: int[] is nullable without declaring it so?

我正在尝试使用 ILGPU 来扰乱我 GPU 上的 CUDA

当我尝试加载 内核 并向其传递一些数据时:

var krnl = gpu.LoadAutoGroupedStreamKernel<Index1, ArrayView<byte>, int[]>(krnCopyStringToCard);

我收到以下错误,这真是令人困惑:

The type 'int[]' must be a non-nullable value type in order to use it as a parameter...

查看 nullable 文档(对我来说是新手),似乎 int 可以 成为 nullable 但前提是你这样声明。我绝对不会那样做,那有什么用呢?

int 不可为空,但 int[] 是,因为

Array types are reference types.


你可以在编辑器上看到这个:

另请参阅 this 答案。