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