判断数据表中是否有空值的最佳方法是什么?

在我们的场景中,大多数情况下,一列中的所有值都为空.

(此数据表由第三方应用程序返回-我们正在try 在应用程序处理数据表之前设置有效性)

推荐答案

try 将该列的值与DBNull.Value值进行比较,以您认为合适的方式筛选和管理空值.

foreach(DataRow row in table.Rows)
{
    object value = row["ColumnName"];
    if (value == DBNull.Value)
        // do something
    else
        // do something else
}

More information about the DBNull class


如果要判断表中是否存在空值,可以使用以下方法:

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();

.net相关问答推荐

dotnet 8 web api在部署到docker后无法工作

为什么脚本不从 _Layout 加载并且必须添加到部分视图中?

在`MAUI`应用中使用Android`MediaPlayer`的`prepare`方法只在发布模式下和在物理设备上崩溃

Dictionary.FirstOrDefault() 如何判断是否找到了结果

将日期时间转换为日期格式 dd/mm/yyyy

CurrentCulture、InvariantCulture、CurrentUICulture 和 InstalledUICulture 之间的区别

我可以从我的应用程序中抛出哪些内置 .NET 异常?

AutoMapper 的替代品

C# 时间跨度毫秒与 TotalMilliseconds

LINQ:确定两个序列是否包含完全相同的元素

ILMerge 最佳实践

HttpClient 和使用代理 - 不断得到 407

处理序列没有元素异常

从 Windows 窗体打开 URL

如何在 C# 中将 null 值设置为 int?

资源(.resx)文件有什么好处?

哪个密码字符在 winforms 文本框中显示黑点 (•)?

Find() 和 First() 抛出异常,如何改为返回 null?

将两个列表映射到 C# 中的字典中

将控制台输出镜像到文件