Вопрос

У меня есть объект типа:

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");
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top