首页 > 解决方案 > String.IsNullOrEmpty 检查数据表单元格

问题描述

如果我有一个数据表并且我想查看特定单元格中包含的值是否为空,我会使用它。

foreach(DataRow row in DataTable.Rows)
{
    bool isEmpty = String.IsNullOrEmpty(row["MyColumn"].ToString());
}

但是如果 in 的值row["MyColumn"]是会发生什么null。不会.ToString()抛出异常吗?然而,当我尝试以下..

bool isEmpty = String.IsNullOrEmpty(row["MyColumn"]);

我得到一个无效的参数异常,因为该IsNullOrEmpty()方法正在寻找一个字符串对象。

那么检查数据表中的特定单元格是空还是空的正确方法是什么?

标签: c#nullisnullorempty

解决方案


把你的陈述改成这样,

bool isEmpty = String.IsNullOrEmpty(row["MyColumn"]?.ToString());

?. 表示仅当 row["MyColumn"] 不为空时才运行进程 .ToString()。


推荐阅读