C#volatile和Nullable
根据文档: http : //msdn.microsoft.com/en-us/library/x13ttww7.aspx :
volatile关键字可以应用于引用类型。
那么为什么在Nullable
上使用它是非法的参考类型!
请注意,我实际上并不需要在Nullable
字段上使用volatile语义,我偶然遇到了这个错误并且只是好奇。
Nullable
不是引用类型。 这是一种价值类型:
public struct Nullable where T : struct, new()
注意struct
部分。
仅因为它具有null
值不会使其成为引用类型…它是可以为null的值类型。 有关详细信息,请参阅C#4语言规范的4.1.10节。
Nullable是值类型,而不是引用类型。
有关定义,请参见http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx 。