selectedItem次の 2 つのフィールドがあります。
int? _coststring _serialNumber
この例では、_costと_serialNumberofselectedItemは両方ともヌルです。プロパティを介してフィールドを読み取りselectedItem、テキストボックスに値を入力すると...
TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error
冗長であることは理解してSerialNumber.ToString()いますが(すでに文字列であるため)、これがこの例外を引き起こす理由がわかりません:
Null 許容オブジェクトには値が必要です。
int? _costnull可能で、値を持っていませんが、例外は発生しません。string _serialNumbernull可能で、値を持っていませんが、例外が発生します。
この質問はそれに触れています。男は本質的に同じことを尋ねていますが、指定された答えはなく、なぜ nullable int? たとえば.ToString()、null 許容 int では使用できますが、null 文字列では使用できませんか?