我有一个类型为的对象:

dynamic {System.DBNull}

我想检查一下:

if (myObject!= null || myObject!= DBNull.Value)
{
   MessageBox.Show("Oh hi");
}

但是 MessageBox 总是出现。怎么了,是别的类型吗?

有帮助吗?

解决方案

这个表达式总是正确的

myObject != null || myObject != DBNull.Value

因为 myObject 不可能是 nullDBNull.Value 同时。代替 ||&& 修理。

其他提示

试试这个代码

if(myObject != DBNull.Value)
{
   MessageBox.Show("Oh hi");
}
.

if(myObject != null && myObject != DBNull.Value)
{
   MessageBox.Show("Oh hi");
}
.

还有一个用于检查dbnull的函数:

if(myObject != null && !Convert.IsDBNull(myObject))
{
   MessageBox.Show("Oh hi");
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top