Nullable types: better way to check for null or zero in c#
c#, null, zero
Solution
I like `if ((item.Rate ?? 0) == 0) { }`
Update 1:
You could also define an extension method like:
public static bool IsNullOrValue(this double? value, double valueToCheck)
{
return (value??valueToCheck) == valueToCheck;
}
And use it like this:
`if(item.IsNullOrValue(0)){}` // but you don't get much from it
Problem
I'm working on a project where i find i'm checking for the following in many, many places: ``` if(item.Rate == 0 || item.Rate == null) { } ``` more as a curiousity than anything, what's the best way to check for both cases? I've added a helper method which is: ``` public static bool nz(object obj) { var parsedInt = 0; var parsed = int.TryParse(obj.ToString(), out parsedInt); return IsNull(obj) || (parsed && parsedInt == 0); } ``` Is there a better way?