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