C# 在C&x27中{}是什么意思;

C# 在C&x27中{}是什么意思;,c#,.net,C#,.net,我有一个类型为System.Single的DataGridView单元格 if (myDataGridView.Rows[0].Cells[1].Value == null) { //some code } myDataGridView.Rows[0]。Cells[1]。Value具有Value{}。它不是null,也不是0,应该在==的右侧设置什么才能使条件为真?它是一种称为DBNull.Value的东西,如您在使用它之前所述: if (myDataGridView.Rows[0]

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

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

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

它是一种称为
DBNull.Value
的东西,如您在使用它之前所述:

if (myDataGridView.Rows[0].Cells[1].Value == DBNull.Value) 
{
    //some code
}
你试过这个吗

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

如前所述,该值是
DbNull
的一个实例

考虑到
DbNull.Value
是一个单例(因此可以安全地进行引用比较),我们想到了两个选项:

if (myDataGridView.Rows[0].Cells[1].Value == DBNull.Value) 


就我个人而言,我非常喜欢后者——它与数据库中的“isnull”方法相适应,而且读起来很好。。。这更清楚地表明,我对null作为一种属性感兴趣,而不是执行实际的相等比较。

您在哪里看到它的值为
{}
?如果它在调试器中,那么应该也会显示数据类型。。。我怀疑它是DbNull,但您可以比我们更容易地找到它。
“{}”
或者什么?老实说,我不完全理解你的问题。请更具体一点好吗?您是否尝试过
DBNull.Value
?为
myDataGridView.Rows[0].Cells[1].Value.GetType().Name
添加一个监视标题。{}那么你想知道==?
if (myDataGridView.Rows[0].Cells[1].Value is DbNull)