Cómo manejar el Sistema.DBNull?
Pregunta
Tengo un objeto de tipo:
dynamic {System.DBNull}
Quiero comprobarlo:
if (myObject!= null || myObject!= DBNull.Value)
{
MessageBox.Show("Oh hi");
}
Pero el MessageBox
siempre aparece.Qué hay de malo, es de otro tipo?
Solución
Esta expresión es siempre cierto
myObject != null || myObject != DBNull.Value
porque myObject
no puede ser null
y DBNull.Value
al mismo tiempo.Reemplazar ||
con &&
para corregir.
Otros consejos
Prueba este código
if(myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
o
if(myObject != null && myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
También hay una función para comprobar los DBNull:
if(myObject != null && !Convert.IsDBNull(myObject))
{
MessageBox.Show("Oh hi");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow