我有一个System.Single类型的DataGridView单元格。
if (myDataGridView.Rows[0].Cells[1].Value == null)
{
//some code
}
myDataGridView.Rows[0].Cells[1].Value
的值为{}
。它不是null
,也不是0
,==
的右边应该是什么才能使条件为真?
答案 0 :(得分:4)
在您使用它之前,它已被称为DBNull.Value
:
if (myDataGridView.Rows[0].Cells[1].Value == DBNull.Value)
{
//some code
}
答案 1 :(得分:3)
如上所述,该值是DbNull
的实例。
鉴于DbNull.Value
是一个单例(因此可以安全地进行参考比较),我会想到两个选项:
if (myDataGridView.Rows[0].Cells[1].Value == DBNull.Value)
或
if (myDataGridView.Rows[0].Cells[1].Value is DbNull)
就我个人而言,我非常喜欢后者 - 它适合数据库中的“is null”方法,并且读得很好...它让我更清楚我对作为一种属性的无效感兴趣而不是执行实际的平等比较。
答案 2 :(得分:0)
你试过这个吗?
if (DBNull.Value.Equals(myDataGridView.Rows[0].Cells[1].Value))
{
//some code
}