我有一个类型为
的对象dynamic {System.DBNull}
我想检查一下:
if (myObject!= null || myObject!= DBNull.Value)
{
MessageBox.Show("Oh hi");
}
但MessageBox
总会出现。什么是错的,是另一种类型吗?
答案 0 :(得分:5)
此表达式始终为真
myObject != null || myObject != DBNull.Value
因为myObject
不能同时是null
和DBNull.Value
。将||
替换为&&
以修复。
答案 1 :(得分:1)
试试此代码
if(myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
或
if(myObject != null && myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
答案 2 :(得分:1)
还有一个检查DBNull的功能:
if(myObject != null && !Convert.IsDBNull(myObject))
{
MessageBox.Show("Oh hi");
}