我有一个 DataTable resultSet;
- 我正在尝试检查字段是否为空,但得到一个“{}”(空集?)对象。涉及“{}”的搜索未产生任何合适的解决方案。
这是当“fk_id”字段为空时无法按预期工作的代码:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
//never reaches here
}
注意:使用 int 索引而不是 Columns.IndexOf()
不是问题。
“{}”在 C# 中还有其他名称吗?
最佳答案
要检查 DataSet 中的 DBNull 列,您可以使用 IsNull方法:
if (resultSet.Rows[0].IsNull("fk_id"))
您与 null
的比较可能会失败,因为数据集不使用 null
来表示“数据库 NULL”值 - 他们使用 DBNull.Value .如果您需要您的代码按照您呈现的方式工作,请尝试以下操作:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)
关于C# DataTable ItemArray 返回 '{}' - 如何测试空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707658/