您能否看一下下面的代码,并说明为什么当列值为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/

10-17 00:04