Como lidar com o Sistema.DBNull?
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?
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