Pergunta

Eu tenho um objeto do tipo:

dynamic {System.DBNull}

Quero verificar que:

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

Mas o MessageBox sempre aparece.O que está errado, que é outro tipo?

Foi útil?

Solução

Esta expressão é sempre verdadeira

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

porque myObject não pode ser null e DBNull.Value ao mesmo tempo.Substituir || com && para corrigir.

Outras dicas

Tente este código

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

ou

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

Há também uma função para a verificação de DBNull:

if(myObject != null && !Convert.IsDBNull(myObject))
{
   MessageBox.Show("Oh hi");
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top