C#Nullable变量是否仍然可以作为值类型?

Rya*_*anG 2 c# nullable

如果我从值类型声明一个可空(通过Nullable或?符号)变量,它是否仍然遵循值类型的规则(即默认情况下传递值,当它超出范围时解除分配,而不是在垃圾收集器时运行)或它变成一个引用类型,因为它实际上是Nullable类型?

Eri*_*ert 7

文档在这里:

http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx

如您所见,文档将其描述为"可空结构",表明它是值类型.此外,文档提供了类型声明的第一行:

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

再次显示该类型是值类型.