c#中的Convert.ToString()和.ToString()方法

时间:2015-05-19 10:50:59

标签: c#

我知道Convert.ToString(obj)处理空值而ToString(obj)没有处理空值。这意味着如果obj值为null,它将抛出错误。

ex:- 
object b = null;
textBox1.Text = b.ToString(); // It will throw a null reference exception because the object value is null.

这是正确的,并按预期工作。 但是,

ex:-
int? c = null;
textBox1.Text = c.ToString();

我试过这种方式。 但在这种情况下,它不会抛出空引用异常错误。 为什么不抛出空引用异常错误。有谁能回答?

建议欢迎。

2 个答案:

答案 0 :(得分:9)

这是因为Nullable<int>int?是其简写的类型)是一个结构,因此永远不会null

int? c = null实际上将c.Value分配为Null而不是c本身,因此c.ToString()仍然是有效的操作。

答案 1 :(得分:2)

Nullable<T>是结构/值类型。实际可为空的nullable不为null,但值为。 object是类/引用类型。