1

您能否查看下面的代码并说明为什么当列值为空时此代码不会引发异常?

DataTable table = new DataTable();
table.Columns.Add("PreviewHtml");

table.Rows.Add(new object[] { "aksdhaskldh" });
table.Rows.Add(new object[] { "129836 128o tagjk 1782 3" });
table.Rows.Add(new object[] { null });
table.Rows.Add(new object[] { "1278o36 " });


foreach (DataRow r in table.Rows)
{
     Console.WriteLine(r["PreviewHtml"].ToString());
}
4

1 回答 1

6

这是因为DBNull.ToString返回一个空字符串。

DataColumn 的AllowDBNull属性默认设置为 true,否则无法添加null值。

Null值转换为DBNull.Value, AutoIncrementnull列在传递时也会递增。

于 2012-11-19T08:32:36.933 回答