Wie gehe ich mit System.DBNull um?
Frage
Ich habe ein Objekt mit Typ:
dynamic {System.DBNull}
Ich möchte es überprüfen:
if (myObject!= null || myObject!= DBNull.Value)
{
MessageBox.Show("Oh hi");
}
Aber die MessageBox
erscheint immer.Was ist los? Handelt es sich um einen anderen Typ?
Lösung
Dieser Ausdruck ist immer wahr
myObject != null || myObject != DBNull.Value
Weil myObject
kann nicht sein null
Und DBNull.Value
gleichzeitig.Ersetzen ||
mit &&
reparieren.
Andere Tipps
Probieren Sie diesen Code aus
if(myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
oder
if(myObject != null && myObject != DBNull.Value)
{
MessageBox.Show("Oh hi");
}
Es gibt auch eine Funktion zum Überprüfen auf DBNull:
if(myObject != null && !Convert.IsDBNull(myObject))
{
MessageBox.Show("Oh hi");
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow