Как обрабатывать System.DBNull?
Вопрос
У меня есть объект типа:
dynamic {System.DBNull}
Я хочу это проверить:
if (myObject!= null || myObject!= DBNull.Value)
{
MessageBox.Show("Oh hi");
}
Но MessageBox
всегда появляется.Что случилось, это другой тип?
Решение
Это выражение всегда верно
myObject != null || myObject != DBNull.Value
потому что myObject
не может быть null
и DBNull.Value
в то же время.Заменять ||
с &&
исправить.
Другие советы
Попробуйте этот код
if(myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
.
или
if(myObject != null && myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
. Есть также функция для проверки dbnull:
if(myObject != null && !Convert.IsDBNull(myObject))
{
MessageBox.Show("Oh hi");
}
. Не связан с StackOverflow