C# DataTable ItemArray 返回 '{}' - 如何测试空值?
我有一个 DataTable resultSet; - 我试图检查字段是否为 null,但返回一个“{}”(空集?)对象。 涉及“{}”的搜索未产生任何合适的解决方案。
当“fk_id”字段为 null 时,以下代码无法按预期工作:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
//never reaches here
}
注意:使用 int 索引而不是 Columns.IndexOf() 不是问题。
“{}”在 C# 中还有其他名称吗?
I have a DataTable resultSet;
- I'm trying to check fields for null, but get an '{}' (empty-set ?) object back. Searches involving "{}" aren't yielding any appropriate solutions.
This is the code that isn't working as expected when the "fk_id" field is null:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
//never reaches here
}
Note: using an int index instead of the Columns.IndexOf()
isn't the issue.
Also does the "{}" have some other name in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要检查数据集中的 DBNull 列,可以使用 IsNull 方法:
您与
null
的比较可能会失败,因为 DataSet 不使用null
来表示“数据库 NULL”值 - 它们使用 DBNull.Value。 如果您需要代码按照您所呈现的方式工作,请尝试以下操作:To check a column for DBNull in a DataSet, you can use the IsNull method:
Your comparison against
null
is probably failing because DataSets don't usenull
to represent a "database NULL" value - they use DBNull.Value. If you need your code to work the way you've presented it, try this:请使用:
这将为您提供 FieldName 列中具有空值的 DataRows。
Please use:
this will give you the DataRows with null values in FieldName column.