I can check for a DBnull
on a data row using any of the methods.
Either by using
if(dr[0][0]==DBNull.Value)
//do somethin
or by doing
if(dr[0][0].ToString().IsNullOrEmpty())
//do something
In Both Cases I will be getting same result.
But Which one is conecptually right approach. Which was will use less resources
Is always use :
Assuming that the creators of this function know the best way/most efficient way of comparing..
The simplest way
is perfectly valid and readable.
Even though
==
compares references, it works here becauseDBNUll.Value
is the only instance ofDBNull
class - so allDBNull
values are actually this exact reference.The first way is somewhat correct. However, more accepted way is:
And the second way is definitely incorrect. If you use the second way, you will get true in two cases:
Conceptually the comparison to
DBNull.Value
is the correct one.You can also use :
You could also use, which I'm not a fan of, purely because it's a type comparison rather than a value comparison: