¿Por qué .ToString () en una cadena nula causa un error nulo, cuando .ToString () funciona bien en un int. Con valor nulo?
selectedItem
tiene dos campos:
int? _cost
string _serialNumber
En este ejemplo,_cost
y_serialNumber
deselectedItem
son los dos nulos. Estoy leyendo a través de los campos deselectedItem
a través de sus propiedades, y rellenando los cuadros de texto con sus valores, cuando ...
TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error
Entiendo queSerialNumber.ToString()
es redundante (porque ya es una cadena), pero no entiendo por qué esto causa esta excepción:
Objeto nullable debe tener un valor.
int? _cost
es anulable, y no tiene un valor, pero no me da la excepción.string _serialNumber
es anulable, y no tiene un valor, sin embargo,hace dame la excepcionEstapregunta toca el tema, el chico esencialmente está preguntando lo mismo, pero no hay una respuesta específica, y tampoco explica por qué un nullableint
? Por ejemplo, ¿puedo usar.ToString()
en un int nullable pero no en una cadena nula?