可空值的类型只是常规值类型的包装吗?

ric*_*ard 3 .net c# nullable

我问的原因是你可以使用Value属性将可空类型强制转换为常规类型.这让我觉得常规类型只是包含在可空类型中.

Kob*_*obi 7

是的,它是一个通用的结构:

public struct Nullable<T> where T : struct, new()
Run Code Online (Sandbox Code Playgroud)

如果您只看到T?语法,这可能会更令人困惑- 但这只是语法糖,编译器正在将其更改为Nullable<T>.

来源:http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx,http : //msdn.microsoft.com/en-us/library/1t3y8s4s.aspx