检查数据表中是否有空值的最佳方法是什么?
在我们的方案中,大多数情况下,一列将具有所有空值。
(此数据表由第三方应用程序返回-我们正在尝试在我们的应用程序处理数据表之前放置一个别名)
尝试将列的DBNull.Value值与该值进行比较,以您认为合适的方式过滤和管理空值。
DBNull.Value
foreach(DataRow row in table.Rows) { object value = row["ColumnName"]; if (value == DBNull.Value) // do something else // do something else }
有关DBNull类的更多信息
如果要检查表中是否存在空值,可以使用此方法:
public static bool HasNull(this DataTable table) { foreach (DataColumn column in table.Columns) { if (table.Rows.OfType<DataRow>().Any(r => r.IsNull(column))) return true; } return false; }
这将使您编写以下代码:
table.HasNull();