selectedItem
有两个字段:
int? _cost
string _serialNumber
在本例中,selectedItem
的 _cost
和 _serialNumber
都为空。我通过它们的属性阅读 selectedItem
的字段,并用它们的值填充文本框,当..。
TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error
我知道 SerialNumber.ToString()
是多余的(因为它已经是一个字符串) ,但我不明白为什么会出现这种异常:
可为空的对象必须有一个值。
int? _cost
是可空的,没有值,但是它没有给我异常。string _serialNumber
是可空的,没有值,但是它 是的给了我一个异常。这个 有个问题碰到了它,这个家伙本质上是在问同样的问题,但是没有指定的答案,而且它也没有解释为什么一个可以为零的 int
?例如,我可以在一个可以为空的 int 上使用 .ToString()
,但是不能在一个空字符串上使用 .ToString()
吗?