相关疑难解决方法(0)

如何为一个可能为空的对象做ToString?

有一种简单的方法可以执行以下操作:

String s = myObj == null ? "" : myObj.ToString();
Run Code Online (Sandbox Code Playgroud)

我知道我可以做到以下几点,但我真的认为它是一个黑客:

String s = "" + myObj;
Run Code Online (Sandbox Code Playgroud)

如果Convert.ToString()有一个适当的重载将是很好的.

.net c# string null object

84
推荐指数
5
解决办法
8万
查看次数

为什么.ToString()在空字符串上会导致空错误,当.ToString()在具有空值的可空int上正常工作?

selectedItem 有两个领域:

  • int? _cost
  • string _serialNumber

在这个例子中,_cost_serialNumberselectedItem都是空.我正在阅读通过selectedItem他们的属性的字段,并填写文本框与他们的值,当...

TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error
Run Code Online (Sandbox Code Playgroud)

我明白这SerialNumber.ToString()是多余的(因为它已经是一个字符串),但我不明白为什么这会导致这个异常:

可以为空的对象必须具有值.

  • int? _cost 可以为空,并且没有值,但它没有给我例外.
  • string _serialNumber可以为空,并且没有值,但它确实给了我例外.

这个问题触及它,这家伙基本上是在问同样的事情,但是没有指定的答案,而且它也没有解释为什么可以为空int?例如,我可以.ToString()在可空的int上使用但不能在空字符串上使用吗?

c# string int null nullable

69
推荐指数
3
解决办法
7626
查看次数

标签 统计

c# ×2

null ×2

string ×2

.net ×1

int ×1

nullable ×1

object ×1