如何检查Datarow值是否为null

请告诉我,如果需要返回string这是在DataRow中检查NULL的正确方法

  Convert.ToString(row["Int64_id"] ?? "") 

或者应该像检查DBNull.Value一样。

需要比这更小

 if(row["Int64_id"] != DBNull.Value){...}else if{} 

使用DataRow.IsNull检查数据列是否为空(字符串columnName)

 if (!row.IsNull("Int64_id")) { // here you can use it safety long someValue = (long)row["Int64_id"]; } 

我们创建了一个扩展类,可以在这种情况下提供帮助。

 public static class DataRowExtensions { public static T FieldOrDefault(this DataRow row, string columnName) { return row.IsNull(columnName) ? default(T) : row.Field(columnName); } } 

您可以使用如下:

 int id = dataRow.FieldOrDefault("Id");