【问题标题】:C#: int[] is nullable without declaring it so?C#: int[] 可以为空而不这样声明?
【发布时间】:2021-11-18 15:18:49
【问题描述】:

我正在尝试使用 ILGPU 来处理我的 GPU 上的 CUDA

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

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

我收到以下错误,这确实令人困惑:

类型 'int[]' 必须是不可为空的值类型才能将其用作参数...

查看 nullable 文档(对我来说是新的),int can 似乎是 nullable 但前提是您如此声明.我绝对不会那样做,那有什么用呢?

【问题讨论】:

标签: c# integer nullable nullable-reference-types


【解决方案1】:

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

Array types are reference types.


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

另请参阅this 答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2014-01-04
    • 2013-10-13
    • 2022-01-20
    相关资源
    最近更新 更多