如何检查Datarow值是否为null

Ale*_*ksP 22 c# datatable null datarow

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

 Convert.ToString(row["Int64_id"] ?? "")
Run Code Online (Sandbox Code Playgroud)

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

需要比这更小

if(row["Int64_id"] != DBNull.Value){...}else if{}
Run Code Online (Sandbox Code Playgroud)

Fel*_*ani 50

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

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


Aji*_*oel 9

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

public static class DataRowExtensions
  {
    public static T FieldOrDefault<T>(this DataRow row, string columnName)
    {
      return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName);
    }
  }
Run Code Online (Sandbox Code Playgroud)

您可以使用如下:

int id = dataRow.FieldOrDefault<int>("Id");
Run Code Online (Sandbox Code Playgroud)