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?

¿Fue útil?

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
scroll top