Warum verursacht .ToString () für eine Nullzeichenfolge einen Nullfehler, wenn .ToString () für eine nullfähige Ganzzahl mit Nullwert einwandfrei funktioniert?

selectedItem hat zwei Felder:

int? _coststring _serialNumber

In diesem Beispiel_cost und_serialNumber vonselectedItem sind beide null. Ich lese durch die Felder vonselectedItem über ihre Eigenschaften und das Ausfüllen von Textfeldern mit ihren Werten, wenn ...

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

ich verstehe dasSerialNumber.ToString() ist redundant (weil es bereits eine Zeichenfolge ist), aber ich verstehe nicht, warum dies diese Ausnahme verursacht:

Das Objekt mit dem Wert "null" braucht einen Wert.

int? _cost ist nullable und hat keinen Wert, aber es gibt mir keine Ausnahme.string _serialNumber ist nullable und hat noch keinen Werttut gib mir die Ausnahme.

DieseFrage Berührt es, fragt der Typ im Wesentlichen dasselbe, aber es gibt keine festgelegte Antwort, und es erklärt auch nicht, warum eine Nullableint? Kann ich zum Beispiel verwenden.ToString() auf einem nullbaren int aber nicht auf einem nullstring?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage