您能否看一下下面的代码,并说明为什么当列值为null时,此代码不会引发异常?
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());
}
最佳答案
这是因为DBNull.ToString
返回一个空字符串。
默认情况下,DataColumn的AllowDBNull
属性设置为true,否则您将无法添加null
值。Null
的值将转换为DBNull.Value
,当传递null
时,AutoIncrement列也会增加。
关于c# - 为什么取消引用DataRow空值不会引发异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13450056/