I've wrote IsNullOrDefault generic helper function
public static bool IsNullOrDefault<T>(this Nullable<T> param) where T : struct
{
T deflt = default(T);
if (!param.HasValue)
return true;
else if (param.Value.Equals(deflt))
return true;
return false;
}
, but then realized that there is more short implementation on
stackoverflow submitted by
Josh
public static bool IsNullOrDefault<T>(this Nullable<T> value) where T : struct
{
return default(T).Equals( value.GetValueOrDefault() );
}
public static bool IsValue<T>(this Nullable<T> value, T valueToCheck) where T : struct
{
return valueToCheck.Equals((value ?? valueToCheck));
}