公共十进制值{得到;组; }
我想在不使用Nullable或'?'
的情况下为Value属性设置null值答案 0 :(得分:0)
您正在处理价值类型。值类型不能具有NULL值。想象一个值类型,如整数数组。
例如,具有两个属性X = 12和Y = 15的Point在概念上将在内存中表示如下:
[12,15]
如果你添加一个标有名称“Name”的“字符串”属性,那么在数组中将存储指向Heap的内存地址到该字符串:
[12,15,65535]其中65535表示堆地址。
考虑到这一点,值类型显然不能为空,在最好的情况下,您将拥有一个满零值的数组。
Nullable是一个实际上有两个属性的值类型:表示的T值类型和一个额外的布尔值,表示概念上我们是否有值。所以我们仍然有一个结构,但这次我们有一个额外的标志,表明“可空性”属性。