Nullable<int> intNullable = null;//this is ok since `Nullable<T> where T : struct`
尽管Nullable<Nullable<int>>
是一个结构,但是Nullable<int>
还是不好。
这怎么可能?
答案 0 :(得分:3)
Nullable<T>
有多种特殊语言支持,其中之一是Nullable<Nullable<T>>
无效。您无法创建自己的自定义通用结构,该结构可以将除自身以外的任何其他结构作为通用参数。 C#的通用约束功能还不够强大。
还请注意,错误消息并没有说明Nullable<int>
不是一个结构,而是说它必须是一个不可为空的结构</ em>。 Nullable<int>
不是不可为空结构。这是一个 nullable 结构。