Почему .ToString () для пустой строки вызывает нулевую ошибку, когда .ToString () работает нормально для обнуляемого int с нулевым значением?

selectedItem имеет два поля:

int? _cost string _serialNumber

В этом примере_cost а также_serialNumber изselectedItem ОБА НУЛЬ. Я читаю через поляselectedItem через их свойства и заполняя текстовые поля их значениями, когда ...

TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error

Я это понимаюSerialNumber.ToString() является избыточным (потому что это уже строка), но я не понимаю, почему это вызывает это исключение:

Nullable object must have a value.

int? _cost is nullable, and does not have a value, yet it does not give me the exception. string _serialNumber is nullable, and does not have a value, yet it does give me the exception.

этовопрос касается этого, парень, по сути, спрашивает то же самое, но нет определенного ответа, и это также не объясняет, почему обнуляемыйint? Например, могу ли я использовать.ToString() в обнуляемом int, но не в пустой строке?

Ответы на вопрос(8)

Ваш ответ на вопрос