C# 如何检查Datarow值是否为空

C# 如何检查Datarow值是否为空,c#,datatable,null,datarow,C#,Datatable,Null,Datarow,请告诉我如果需要返回字符串 Convert.ToString(row["Int64_id"] ?? "") 或者应该类似于使用DBNull.Value检查 需要比现在小很多 if(row["Int64_id"] != DBNull.Value){...}else if{} 检查数据列是否不为空,并使用 我们已经创建了一个扩展类,它可以在这种情况下提供帮助 public static class DataRowExtensions { public static T FieldO

请告诉我如果需要返回
字符串

 Convert.ToString(row["Int64_id"] ?? "")
或者应该类似于使用DBNull.Value检查

需要比现在小很多

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

检查数据列是否不为空,并使用


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

public static class DataRowExtensions
  {
    public static T FieldOrDefault<T>(this DataRow row, string columnName)
    {
      return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName);
    }
  }
公共静态类DataRowExtensions
{
公共静态T FieldOrDefault(此DataRow行,字符串columnName)
{
返回row.IsNull(columnName)?默认值(T):row.Field(columnName);
}
}
您可以按如下方式使用:

int id = dataRow.FieldOrDefault<int>("Id");
int id=dataRow.FieldOrDefault(“id”);

返回类型
string
和如此之小的检查值是否是正确的方法。:)行[“ColumnName”]!=Value,您也可以自己尝试类似的方法。一种方法是使用调试器!你怎么把这个贴在沙发外面?
int id = dataRow.FieldOrDefault<int>("Id");