Visual Studio如何确定Nullable <t>不是结构?

时间:2019-01-03 18:47:21

标签: c# .net visual-studio

Nullable<int> intNullable = null;//this is ok since `Nullable<T> where T : struct`

尽管Nullable<Nullable<int>>是一个结构,但是Nullable<int>还是不好。

这怎么可能?

1 个答案:

答案 0 :(得分:3)

Nullable<T>有多种特殊语言支持,其中之一是Nullable<Nullable<T>>无效。您无法创建自己的自定义通用结构,该结构可以将除自身以外的任何其他结构作为通用参数。 C#的通用约束功能还不够强大。

还请注意,错误消息并没有说明Nullable<int>不是一个结构,而是说它必须是一个不可为空的结构<​​/ em>。 Nullable<int>不是不可为空结构。这是一个 nullable 结构。