2013-05-04 66 views
0

我很惊讶下面的代码如何在没有得到NullReferenceException异常的情况下工作?DataTable中的空值

table.Rows[0][1] = null; 
Console.WriteLine(table.Rows[0][1].ToString()); 

有人能解释吗?

+0

您是否用简单的情况尝试过? 'object foo = null; Console.WriteLine(foo.ToString());' – 2013-05-04 19:27:34

回答

0

这是因为该项目实际上将设置为System.DBNull的实例而不是null

+1

这种强制只能用于一种方式(空 - > DBNull):出于这个原因,在从DataTable访问“空”值时必须小心。 – user2246674 2013-05-04 19:38:04