{}在C#中意味着什么

时间:2015-08-10 05:54:58

标签: c# .net

我有一个System.Single类型的DataGridView单元格。

if (myDataGridView.Rows[0].Cells[1].Value == null) 
{
    //some code
}

myDataGridView.Rows[0].Cells[1].Value的值为{}。它不是null,也不是0==的右边应该是什么才能使条件为真?

3 个答案:

答案 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
}