题
我有一个类型为的对象:
dynamic {System.DBNull}
我想检查一下:
if (myObject!= null || myObject!= DBNull.Value)
{
MessageBox.Show("Oh hi");
}
但是 MessageBox
总是出现。怎么了,是别的类型吗?
解决方案
这个表达式总是正确的
myObject != null || myObject != DBNull.Value
因为 myObject
不可能是 null
和 DBNull.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");
}
. 不隶属于 StackOverflow