I don’t know what the correct wording is for what I am trying to achieve so it may already be posted online. Please be kind if it is.
Ok so basically I have this method.
public static T IsNull<T>(IDataReader dr, String name, T nullValue)
{
return Helpers.IsNull(dr, dr.GetOrdinal(name), nullValue);
}
public static T IsNull<T>(IDataReader dr, Int32 index, T nullValue)
{
if (dr.IsDBNull(index))
{
return nullValue;
}
else
{
return (T)dr.GetValue(index);
}
}
Being called as Helpers.IsNull(dr, "UnitWholeSale", 0d) and the error I am getting is “Cannot convert from double to decimal”.
Now I know I can use decimal.Zero but is there some way that I can simply go 0dec or something similar? I just hate those long shortcut values (especially when you are calling a constructor with 20 parameters).
0mis how you say(decimal)0becausemis the suffix that meansdecimal.Other suffixes are
fforfloat,dfordouble,uforunsigned, andlforlong. They can be either upper- or lower-case anducan be combined withlin either order to make aulong.Although the suffixes are not case-sensitive, keep in mind what it says in the C# language specification, section 2.4.4.2: