您可以查看下面的代码,并说明为什么当列值为空时此代码不会引发异常?
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());
}
Run Code Online (Sandbox Code Playgroud)
这是因为DBNull.ToString返回一个空字符串.
AllowDBNull默认情况下,DataColumn的属性设置为true,否则您无法添加null值.
Null值被转换为DBNull.Value,AutoIncrement列在null传递时也会递增.